// Dies geht in hardware_t.cpp und ersetzt die alten Funktionen: //-------------------------------------------- // Test Funktion 1 W //-------------------------------------------- case 41 : { printf("****************************************************************************************\n"); printf("Test function 2 decrement zeroes (shift + W)\n"); // Guido: make testfunction work for the selected testchannel: switch (test_channel) { case 1: { for (ix = 0; ix < 100; ix+=4) { printf("S1_%d : %3d %3d %3d %3d\n", ix, SIGNAL1[ix], SIGNAL1[ix + 1], SIGNAL1[ix + 2], SIGNAL1[ix + 3]); nr_delay(10); } printf("CH1 Virtual Zero Level = %d\n", Virtual_ZeroLevelCH1); printf("CH1 Zero Level = %d\n\n", ZeroLevelCH1); printf("decrementing zero correction\n\n"); switch(Selected_Voltage_CH1) { case 0: Channel1_Zero_Sign_Offset_1 --; break;// 1 mV case 1: Channel1_Zero_Sign_Offset_2 --; break;// 2 mV case 2: Channel1_Zero_Sign_Offset_3 --; break;// 5 mV case 3: Channel1_Zero_Sign_Offset_1 --; break;// 10 mV case 4: Channel1_Zero_Sign_Offset_2 --; break;// 20 mV case 5: Channel1_Zero_Sign_Offset_3 --; break;// 50 mV case 6: Channel1_Zero_Sign_Offset_1 --; break;//100 mV case 7: Channel1_Zero_Sign_Offset_2 --; break;//200 mV case 8: Channel1_Zero_Sign_Offset_3 --; break;//500 mV case 9: Channel1_Zero_Sign_Offset_1 --; break;// 1 V case 10: Channel1_Zero_Sign_Offset_2 --; break;//2 V case 11: Channel1_Zero_Sign_Offset_3 --; break;//5 V } printf("CH1 Zero Sign Offs 1 = %d\n", Channel1_Zero_Sign_Offset_1); printf("CH1 Zero Sign Offs 2 = %d\n", Channel1_Zero_Sign_Offset_2); printf("CH1 Zero Sign Offs 3 = %d\n", Channel1_Zero_Sign_Offset_3); printf("****************************************************************************************\n"); break; } case 2: { for (ix = 0; ix < 100; ix+=4) { printf("S1_%d : %3d %3d %3d %3d\n", ix, SIGNAL2[ix], SIGNAL2[ix + 1], SIGNAL2[ix + 2], SIGNAL2[ix + 3]); nr_delay(10); } printf("CH2 Virtual Zero Level = %d\n", Virtual_ZeroLevelCH2); printf("CH2 Zero Level = %d\n\n", ZeroLevelCH2); printf("decrementing zero correction\n\n"); switch(Selected_Voltage_CH2) { case 0: Channel2_Zero_Sign_Offset_1 --; break;// 1 mV case 1: Channel2_Zero_Sign_Offset_2 --; break;// 2 mV case 2: Channel2_Zero_Sign_Offset_3 --; break;// 5 mV case 3: Channel2_Zero_Sign_Offset_1 --; break;// 10 mV case 4: Channel2_Zero_Sign_Offset_2 --; break;// 20 mV case 5: Channel2_Zero_Sign_Offset_3 --; break;// 50 mV case 6: Channel2_Zero_Sign_Offset_1 --; break;//100 mV case 7: Channel2_Zero_Sign_Offset_2 --; break;//200 mV case 8: Channel2_Zero_Sign_Offset_3 --; break;//500 mV case 9: Channel2_Zero_Sign_Offset_1 --; break;// 1 V case 10: Channel2_Zero_Sign_Offset_2 --; break;//2 V case 11: Channel2_Zero_Sign_Offset_3 --; break;//5 V } printf("CH2 Zero Sign Offs 1 = %d\n", Channel2_Zero_Sign_Offset_1); printf("CH2 Zero Sign Offs 2 = %d\n", Channel2_Zero_Sign_Offset_2); printf("CH2 Zero Sign Offs 3 = %d\n", Channel2_Zero_Sign_Offset_3); printf("****************************************************************************************\n"); break; } case 3: { for (ix = 0; ix < 100; ix+=4) { printf("S1_%d : %3d %3d %3d %3d\n", ix, SIGNAL3[ix], SIGNAL3[ix + 1], SIGNAL3[ix + 2], SIGNAL3[ix + 3]); nr_delay(10); } printf("CH3 Virtual Zero Level = %d\n", Virtual_ZeroLevelCH3); printf("CH3 Zero Level = %d\n\n", ZeroLevelCH3); printf("decrementing zero correction\n\n"); switch(Selected_Voltage_CH3) { case 0: Channel3_Zero_Sign_Offset_1 --; break;// 1 mV case 1: Channel3_Zero_Sign_Offset_2 --; break;// 2 mV case 2: Channel3_Zero_Sign_Offset_3 --; break;// 5 mV case 3: Channel3_Zero_Sign_Offset_1 --; break;// 10 mV case 4: Channel3_Zero_Sign_Offset_2 --; break;// 20 mV case 5: Channel3_Zero_Sign_Offset_3 --; break;// 50 mV case 6: Channel3_Zero_Sign_Offset_1 --; break;//100 mV case 7: Channel3_Zero_Sign_Offset_2 --; break;//200 mV case 8: Channel3_Zero_Sign_Offset_3 --; break;//500 mV case 9: Channel3_Zero_Sign_Offset_1 --; break;// 1 V case 10: Channel3_Zero_Sign_Offset_2 --; break;//2 V case 11: Channel3_Zero_Sign_Offset_3 --; break;//5 V } printf("CH3 Zero Sign Offs 1 = %d\n", Channel3_Zero_Sign_Offset_1); printf("CH3 Zero Sign Offs 2 = %d\n", Channel3_Zero_Sign_Offset_2); printf("CH3 Zero Sign Offs 3 = %d\n", Channel3_Zero_Sign_Offset_3); printf("****************************************************************************************\n"); break; } case 4: { for (ix = 0; ix < 100; ix+=4) { printf("S1_%d : %3d %3d %3d %3d\n", ix, SIGNAL4[ix], SIGNAL4[ix + 1], SIGNAL4[ix + 2], SIGNAL4[ix + 3]); nr_delay(10); } printf("CH4 Virtual Zero Level = %d\n", Virtual_ZeroLevelCH4); printf("CH4 Zero Level = %d\n\n", ZeroLevelCH4); printf("decrementing zero correction\n\n"); switch(Selected_Voltage_CH4) { case 0: Channel4_Zero_Sign_Offset_1 --; break;// 1 mV case 1: Channel4_Zero_Sign_Offset_2 --; break;// 2 mV case 2: Channel4_Zero_Sign_Offset_3 --; break;// 5 mV case 3: Channel4_Zero_Sign_Offset_1 --; break;// 10 mV case 4: Channel4_Zero_Sign_Offset_2 --; break;// 20 mV case 5: Channel4_Zero_Sign_Offset_3 --; break;// 50 mV case 6: Channel4_Zero_Sign_Offset_1 --; break;//100 mV case 7: Channel4_Zero_Sign_Offset_2 --; break;//200 mV case 8: Channel4_Zero_Sign_Offset_3 --; break;//500 mV case 9: Channel4_Zero_Sign_Offset_1 --; break;// 1 V case 10: Channel4_Zero_Sign_Offset_2 --; break;//2 V case 11: Channel4_Zero_Sign_Offset_3 --; break;//5 V } printf("CH4 Zero Sign Offs 1 = %d\n", Channel4_Zero_Sign_Offset_1); printf("CH4 Zero Sign Offs 2 = %d\n", Channel4_Zero_Sign_Offset_2); printf("CH4 Zero Sign Offs 3 = %d\n", Channel4_Zero_Sign_Offset_3); printf("****************************************************************************************\n"); break; } } break; } //-------------------------------------------- // Test Funktion 2 E //-------------------------------------------- case 42 : { printf("****************************************************************************************\n"); printf("Test function 3 increment zeroes (shift + E)\n"); // Guido: make testfunction work for the selected testchannel: switch (test_channel) { case 1: { for (ix = 0; ix < 100; ix+=4) { printf("S1_%d : %3d %3d %3d %3d\n", ix, SIGNAL1[ix], SIGNAL1[ix + 1], SIGNAL1[ix + 2], SIGNAL1[ix + 3]); nr_delay(10); } printf("CH1 Virtual Zero Level = %d\n", Virtual_ZeroLevelCH1); printf("CH1 Zero Level = %d\n\n", ZeroLevelCH1); printf("decrementing zero correction\n\n"); switch(Selected_Voltage_CH1) { case 0: Channel1_Zero_Sign_Offset_1 ++; break;// 1 mV case 1: Channel1_Zero_Sign_Offset_2 ++; break;// 2 mV case 2: Channel1_Zero_Sign_Offset_3 ++; break;// 5 mV case 3: Channel1_Zero_Sign_Offset_1 ++; break;// 10 mV case 4: Channel1_Zero_Sign_Offset_2 ++; break;// 20 mV case 5: Channel1_Zero_Sign_Offset_3 ++; break;// 50 mV case 6: Channel1_Zero_Sign_Offset_1 ++; break;//100 mV case 7: Channel1_Zero_Sign_Offset_2 ++; break;//200 mV case 8: Channel1_Zero_Sign_Offset_3 ++; break;//500 mV case 9: Channel1_Zero_Sign_Offset_1 ++; break;// 1 V case 10: Channel1_Zero_Sign_Offset_2 ++; break;//2 V case 11: Channel1_Zero_Sign_Offset_3 ++; break;//5 V } printf("CH1 Zero Sign Offs 1 = %d\n", Channel1_Zero_Sign_Offset_1); printf("CH1 Zero Sign Offs 2 = %d\n", Channel1_Zero_Sign_Offset_2); printf("CH1 Zero Sign Offs 3 = %d\n", Channel1_Zero_Sign_Offset_3); printf("****************************************************************************************\n"); break; } case 2: { for (ix = 0; ix < 100; ix+=4) { printf("S1_%d : %3d %3d %3d %3d\n", ix, SIGNAL2[ix], SIGNAL2[ix + 1], SIGNAL2[ix + 2], SIGNAL2[ix + 3]); nr_delay(10); } printf("CH2 Virtual Zero Level = %d\n", Virtual_ZeroLevelCH2); printf("CH2 Zero Level = %d\n\n", ZeroLevelCH2); printf("decrementing zero correction\n\n"); switch(Selected_Voltage_CH2) { case 0: Channel2_Zero_Sign_Offset_1 ++; break;// 1 mV case 1: Channel2_Zero_Sign_Offset_2 ++; break;// 2 mV case 2: Channel2_Zero_Sign_Offset_3 ++; break;// 5 mV case 3: Channel2_Zero_Sign_Offset_1 ++; break;// 10 mV case 4: Channel2_Zero_Sign_Offset_2 ++; break;// 20 mV case 5: Channel2_Zero_Sign_Offset_3 ++; break;// 50 mV case 6: Channel2_Zero_Sign_Offset_1 ++; break;//100 mV case 7: Channel2_Zero_Sign_Offset_2 ++; break;//200 mV case 8: Channel2_Zero_Sign_Offset_3 ++; break;//500 mV case 9: Channel2_Zero_Sign_Offset_1 ++; break;// 1 V case 10: Channel2_Zero_Sign_Offset_2 ++; break;//2 V case 11: Channel2_Zero_Sign_Offset_3 ++; break;//5 V } printf("CH2 Zero Sign Offs 1 = %d\n", Channel2_Zero_Sign_Offset_1); printf("CH2 Zero Sign Offs 2 = %d\n", Channel2_Zero_Sign_Offset_2); printf("CH2 Zero Sign Offs 3 = %d\n", Channel2_Zero_Sign_Offset_3); printf("****************************************************************************************\n"); break; } case 3: { for (ix = 0; ix < 100; ix+=4) { printf("S1_%d : %3d %3d %3d %3d\n", ix, SIGNAL3[ix], SIGNAL3[ix + 1], SIGNAL3[ix + 2], SIGNAL3[ix + 3]); nr_delay(10); } printf("CH3 Virtual Zero Level = %d\n", Virtual_ZeroLevelCH3); printf("CH3 Zero Level = %d\n\n", ZeroLevelCH3); printf("decrementing zero correction\n\n"); switch(Selected_Voltage_CH3) { case 0: Channel3_Zero_Sign_Offset_1 ++; break;// 1 mV case 1: Channel3_Zero_Sign_Offset_2 ++; break;// 2 mV case 2: Channel3_Zero_Sign_Offset_3 ++; break;// 5 mV case 3: Channel3_Zero_Sign_Offset_1 ++; break;// 10 mV case 4: Channel3_Zero_Sign_Offset_2 ++; break;// 20 mV case 5: Channel3_Zero_Sign_Offset_3 ++; break;// 50 mV case 6: Channel3_Zero_Sign_Offset_1 ++; break;//100 mV case 7: Channel3_Zero_Sign_Offset_2 ++; break;//200 mV case 8: Channel3_Zero_Sign_Offset_3 ++; break;//500 mV case 9: Channel3_Zero_Sign_Offset_1 ++; break;// 1 V case 10: Channel3_Zero_Sign_Offset_2 ++; break;//2 V case 11: Channel3_Zero_Sign_Offset_3 ++; break;//5 V } printf("CH3 Zero Sign Offs 1 = %d\n", Channel3_Zero_Sign_Offset_1); printf("CH3 Zero Sign Offs 2 = %d\n", Channel3_Zero_Sign_Offset_2); printf("CH3 Zero Sign Offs 3 = %d\n", Channel3_Zero_Sign_Offset_3); printf("****************************************************************************************\n"); break; } case 4: { for (ix = 0; ix < 100; ix+=4) { printf("S1_%d : %3d %3d %3d %3d\n", ix, SIGNAL4[ix], SIGNAL4[ix + 1], SIGNAL4[ix + 2], SIGNAL4[ix + 3]); nr_delay(10); } printf("CH4 Virtual Zero Level = %d\n", Virtual_ZeroLevelCH4); printf("CH4 Zero Level = %d\n\n", ZeroLevelCH4); printf("decrementing zero correction\n\n"); switch(Selected_Voltage_CH4) { case 0: Channel4_Zero_Sign_Offset_1 ++; break;// 1 mV case 1: Channel4_Zero_Sign_Offset_2 ++; break;// 2 mV case 2: Channel4_Zero_Sign_Offset_3 ++; break;// 5 mV case 3: Channel4_Zero_Sign_Offset_1 ++; break;// 10 mV case 4: Channel4_Zero_Sign_Offset_2 ++; break;// 20 mV case 5: Channel4_Zero_Sign_Offset_3 ++; break;// 50 mV case 6: Channel4_Zero_Sign_Offset_1 ++; break;//100 mV case 7: Channel4_Zero_Sign_Offset_2 ++; break;//200 mV case 8: Channel4_Zero_Sign_Offset_3 ++; break;//500 mV case 9: Channel4_Zero_Sign_Offset_1 ++; break;// 1 V case 10: Channel4_Zero_Sign_Offset_2 ++; break;//2 V case 11: Channel4_Zero_Sign_Offset_3 ++; break;//5 V } printf("CH4 Zero Sign Offs 1 = %d\n", Channel4_Zero_Sign_Offset_1); printf("CH4 Zero Sign Offs 2 = %d\n", Channel4_Zero_Sign_Offset_2); printf("CH4 Zero Sign Offs 3 = %d\n", Channel4_Zero_Sign_Offset_3); printf("****************************************************************************************\n"); break; } } break; } // dies geht in flash_t.cpp und wird an Read_Protected_Flash angehängt: // Guido: add Zero_offsets Channel1_Zero_Sign_Offset_1 = Flash_Protect_Buffer[78]; Channel1_Zero_Sign_Offset_2 = Flash_Protect_Buffer[79]; Channel1_Zero_Sign_Offset_3 = Flash_Protect_Buffer[80]; Channel2_Zero_Sign_Offset_1 = Flash_Protect_Buffer[81]; Channel2_Zero_Sign_Offset_2 = Flash_Protect_Buffer[82]; Channel2_Zero_Sign_Offset_3 = Flash_Protect_Buffer[83]; Channel3_Zero_Sign_Offset_1 = Flash_Protect_Buffer[84]; Channel3_Zero_Sign_Offset_2 = Flash_Protect_Buffer[85]; Channel3_Zero_Sign_Offset_3 = Flash_Protect_Buffer[86]; Channel4_Zero_Sign_Offset_1 = Flash_Protect_Buffer[87]; Channel4_Zero_Sign_Offset_2 = Flash_Protect_Buffer[88]; Channel4_Zero_Sign_Offset_3 = Flash_Protect_Buffer[89]; // Guido end // dies geht in flash_t.cpp und wird in Write_Protected_Flash eingefügt: // Guido: add Zero_offsets: Flash_Protect_Buffer[78] = (unsigned long) Channel1_Zero_Sign_Offset_1; Flash_Protect_Buffer[79] = (unsigned long) Channel1_Zero_Sign_Offset_2; Flash_Protect_Buffer[80] = (unsigned long) Channel1_Zero_Sign_Offset_3; Flash_Protect_Buffer[81] = (unsigned long) Channel2_Zero_Sign_Offset_1; Flash_Protect_Buffer[82] = (unsigned long) Channel2_Zero_Sign_Offset_2; Flash_Protect_Buffer[83] = (unsigned long) Channel2_Zero_Sign_Offset_3; Flash_Protect_Buffer[84] = (unsigned long) Channel3_Zero_Sign_Offset_1; Flash_Protect_Buffer[85] = (unsigned long) Channel3_Zero_Sign_Offset_2; Flash_Protect_Buffer[86] = (unsigned long) Channel3_Zero_Sign_Offset_3; Flash_Protect_Buffer[87] = (unsigned long) Channel4_Zero_Sign_Offset_1; Flash_Protect_Buffer[88] = (unsigned long) Channel4_Zero_Sign_Offset_2; Flash_Protect_Buffer[89] = (unsigned long) Channel4_Zero_Sign_Offset_3; // Guido end //ev. muss in Write_Protected_Flash noch die Bufferlänge angepasst werden: nr_flash_write_buffer((unsigned long *) nasys_main_flash, flash_address, Flash_Protect_Buffer, 90);