/* *************************************************************************** Author: Achim Gädke Created: October 2004 **************************************************************************** */ #include "PTS.h" #include #include "core/xml_states.h" class PTS_test { public: PTS p; PTS_test() { p.id=0; p.set_frequency(0); ttlout t; t.ttls=std::bitset<32>(1<<10); p.ttl_masks.push_back(t); t.ttls=std::bitset<32>(1<<9); p.ttl_masks.push_back(t); if (0) { t.ttls=std::bitset<32>(1<<8); p.ttl_masks.push_back(t); t.ttls=std::bitset<32>(1<<7); p.ttl_masks.push_back(t); } } void phase_digit_translation_test() { printf("100: %x\n",p.phase_ttl_values(100)); printf("-260: %x\n",p.phase_ttl_values(-360+100)); printf("0: %x\n",p.phase_ttl_values(0)); printf("90: %x\n",p.phase_ttl_values(90)); printf("180: %x\n",p.phase_ttl_values(180)); printf("270: %x\n",p.phase_ttl_values(270)); } void phase_add_test() { state s(1,NULL); p.phase_add_ttls(s,270.5); xml_state_writer().write_states(stdout,s); } void state_modify_test() { state s(1); analogout aout; aout.phase=90; aout.frequency=2e7; s.push_back(aout.copy_new()); p.set_frequency(s); xml_state_writer().write_states(stdout,s); } void sequent_iterate_test() { state_sequent ss; state s(1e-3,&ss); ss.push_back(s.copy_new()); s.length=1; analogout aout; aout.phase=90; aout.frequency=2e7; s.push_back(aout.copy_new()); ss.push_back(s.copy_new()); delete s.front(); aout.frequency=2e6; s.front()=aout.copy_new(); ss.push_back(s.copy_new()); p.set_frequency(ss); xml_state_writer().write_states(stdout,ss); } void freq_digit_translation_test() { printf("270e6: %lx\n",p.frequency_ttl_values(270e6)); } }; class PTS_latched_test { public: PTS_latched p; PTS_latched_test() { p.id=0; } void test_simple() { state_sequent ss; state s(1e-3,&ss); ss.push_back(s.copy_new()); s.length=2e-6; analogout aout; aout.phase=90.225; aout.frequency=0; s.push_back(aout.copy_new()); ss.push_back(s.copy_new()); delete s.front(); aout.phase=190; aout.frequency=2e6; s.front()=aout.copy_new(); ss.push_back(s.copy_new()); xml_state_writer().write_states(stdout,ss); p.set_frequency(ss); xml_state_writer().write_states(stdout,ss); } }; int main() { PTS_latched_test().test_simple(); //PTS_test().freq_digit_translation_test(); return 0; }