While Ischarwaiting(#4) <> 0
Inputbin #lcd_4d , 4d_arr_rx(1) , 1
'Print #1 , "received= " ; 4d_arr_rx(1)
Select Case 4d_arr_rx(1) 'command
Case Report_obj: '&H05
Inputbin #lcd_4d , 4d_arr_rx(2) , 5 'get next 5
Xor_crc = Xor_this(4d_arr_rx(1)) ' check the crc
If 4d_arr_rx(6) = Xor_crc Then 'if crc ok then check what came
Select Case 4d_arr_rx(2) 'object ID
Case Dipswitch: '0
Dipswitch_idx = 4d_arr_rx(3)
Dipswitch_val(1) = 4d_arr_rx(4)
Dipswitch_val(2) = 4d_arr_rx(5)
Print #1 , "Dipswitch "
Case Knob: '1
Knob_idx = 4d_arr_rx(3)
Knob_val(1) = 4d_arr_rx(4)
Knob_val(2) = 4d_arr_rx(5)
Print #1 , "Knob "
Case Rockerswitch: '2
Rockerswitch_idx = 4d_arr_rx(3)
Rockerswitch_val(1) = 4d_arr_rx(4)
Rockerswitch_val(2) = 4d_arr_rx(5)
Print #1 , "Rockerswitch "
Case Rotaryswitch: '3
Rotaryswitch_idx = 4d_arr_rx(3)
Rotaryswitch_val(1) = 4d_arr_rx(4)
Rotaryswitch_val(2) = 4d_arr_rx(5)
Print #1 , "Rotaryswitch "
Case Slider: '4
Slider_idx = 4d_arr_rx(3)
Slider_val(1) = 4d_arr_rx(4)
Slider_val(2) = 4d_arr_rx(5)
Print #1 , "Slider "
Case Trackbar: '5
Trackbar_idx = 4d_arr_rx(3)
Trackbar_val(1) = 4d_arr_rx(4)
Trackbar_val(2) = 4d_arr_rx(5)
Print #1 , "Trackbar "
Case Winbutton: '6
Winbutton_idx = 4d_arr_rx(3)
Winbutton_val(1) = 4d_arr_rx(4)
Winbutton_val(2) = 4d_arr_rx(5)
Print #1 , "Winbutton "
Case Angularmeter: '7
Angularmeter_idx = 4d_arr_rx(3)
Angularmeter_val(1) = 4d_arr_rx(4)
Angularmeter_val(2) = 4d_arr_rx(5)
Print #1 , "Angularmeter "
Case Coolgauge: '8
Coolgauge_idx = 4d_arr_rx(3)
Coolgauge_val(1) = 4d_arr_rx(4)
Coolgauge_val(2) = 4d_arr_rx(5)
Print #1 , "Coolgauge "
Case Customdigits: '9
Customdigits_idx = 4d_arr_rx(3)
Customdigits_val(1) = 4d_arr_rx(4)
Customdigits_val(2) = 4d_arr_rx(5)
Print #1 , "Customdigits "
Case Form: '10
Form_idx = 4d_arr_rx(3)
Form_val(1) = 4d_arr_rx(4)
Form_val(2) = 4d_arr_rx(5)
Print #1 , "Form "
Case Gauge: '11
Gauge_idx = 4d_arr_rx(3)
Gauge_val(1) = 4d_arr_rx(4)
Gauge_val(2) = 4d_arr_rx(5)
Print #1 , "Gauge "
Case Image: '12
'Image_idx = 4d_arr_rx(3)
'Image_val(1) = 4d_arr_rx(4)
'Image_val(2) = 4d_arr_rx(5)
Print #1 , "Image "
Case Keyboard: '13
Keyboard_idx = 4d_arr_rx(3)
Keyboard_val(1) = 4d_arr_rx(4)
Keyboard_val(2) = 4d_arr_rx(5)
Print #1 , "Keyboard "
Case Led: '14
Led_idx = 4d_arr_rx(3)
Led_val(1) = 4d_arr_rx(4)
Led_val(2) = 4d_arr_rx(5)
Print #1 , "Led "
Case Leddigits: '15
Leddigits_idx = 4d_arr_rx(3)
Leddigits_val(1) = 4d_arr_rx(4)
Leddigits_val(2) = 4d_arr_rx(5)
Print #1 , "Leddigits "
Case Meter: '16
Meter_idx = 4d_arr_rx(3)
Meter_val(1) = 4d_arr_rx(4)
Meter_val(2) = 4d_arr_rx(5)
Print #1 , "Meter "
Case Strings: '17
Strings_idx = 4d_arr_rx(3)
Strings_val(1) = 4d_arr_rx(4)
Strings_val(2) = 4d_arr_rx(5)
Print #1 , "Strings "
Case Thermometer: '18
Thermometer_idx = 4d_arr_rx(3)
Thermometer_val(1) = 4d_arr_rx(4)
Thermometer_val(2) = 4d_arr_rx(5)
Print #1 , "Thermometer "
Case Userled: '19
Userled_idx = 4d_arr_rx(3)
Userled_val(1) = 4d_arr_rx(4)
Userled_val(2) = 4d_arr_rx(5)
Print #1 , "Userled "
Case Video: '20
Video_idx = 4d_arr_rx(3)
Video_val(1) = 4d_arr_rx(4)
Video_val(2) = 4d_arr_rx(5)
Debug "Video "
Case Statictext: '21
'Statictext_idx = 4d_arr_rx(3)
'Statictext_val(1) = 4d_arr_rx(4)
'Statictext_val(2) = 4d_arr_rx(5)
Print #1 , "Statictext "
Case S_ound: '22
S_ound_idx = 4d_arr_rx(3)
S_ound_val(1) = 4d_arr_rx(4)
S_ound_val(2) = 4d_arr_rx(5)
Print #1 , "S_ound "
Case T_imer: '23
T_imer_idx = 4d_arr_rx(3)
T_imer_val(1) = 4d_arr_rx(4)
T_imer_val(2) = 4d_arr_rx(5)
Print #1 , "T_imer "
Case Spectrum: '24
Spectrum_idx = 4d_arr_rx(3)
Spectrum_val(1) = 4d_arr_rx(4)
Spectrum_val(2) = 4d_arr_rx(5)
Print #1 , "Spectrum "
Case Scope: '25
Scope_idx = 4d_arr_rx(3)
Scope_val(1) = 4d_arr_rx(4)
Scope_val(2) = 4d_arr_rx(5)
Print #1 , "Scope "
Case Tank: '26
Tank_idx = 4d_arr_rx(3)
Tank_val(1) = 4d_arr_rx(4)
Tank_val(2) = 4d_arr_rx(5)
Print #1 , "Tank "
Case Userimages: '27
Userimages_idx = 4d_arr_rx(3)
Userimages_val(1) = 4d_arr_rx(4)
Userimages_val(2) = 4d_arr_rx(5)
Print #1 , "Userimages "
Case Pinoutput: '28
Pinoutput_idx = 4d_arr_rx(3)
'Pinoutput_val(1) = 4d_arr_rx(4)
Pinoutput_val = 4d_arr_rx(5)
Print #1 , "Pinoutput "
Case Pininput: '29
Pininput_idx = 4d_arr_rx(3)
'Pininput_val(1) = 4d_arr_rx(4)
Pininput_val = 4d_arr_rx(5)
Print #1 , "Pininput "
Case 4dbutton: '30
4dbutton_idx = 4d_arr_rx(3)
4dbutton_val(1) = 4d_arr_rx(4)
4dbutton_val(2) = 4d_arr_rx(5)
Print #1 , "4dbutton "
Case Anibutton: '31
Anibutton_idx = 4d_arr_rx(3)
Anibutton_val(1) = 4d_arr_rx(4)
Anibutton_val(2) = 4d_arr_rx(5)
Print #1 , "Anibutton "
Case Colorpicker: '32
Colorpicker_idx = 4d_arr_rx(3)
Colorpicker_val(1) = 4d_arr_rx(4)
Colorpicker_val(2) = 4d_arr_rx(5)
Print #1 , "Colorpicker "
Case Userbutton: '33
Userbutton_idx = 4d_arr_rx(3)
Userbutton_val(1) = 4d_arr_rx(4)
Userbutton_val(2) = 4d_arr_rx(5)
Print #1 , "Userbutton "
Case Magicobject: '34
Magicobject_idx = 4d_arr_rx(3)
Magicobject_val(1) = 4d_arr_rx(4)
Magicobject_val(2) = 4d_arr_rx(5)
Print #1 , "Magicobject "
Case Smartgauge: '35
Smartgauge_idx = 4d_arr_rx(3)
Smartgauge_val(1) = 4d_arr_rx(4)
Smartgauge_val(2) = 4d_arr_rx(5)
Print #1 , "Smartgauge "
Case Smartslider: '36
Smartslider_idx = 4d_arr_rx(3)
Smartslider_val(1) = 4d_arr_rx(4)
Smartslider_val(2) = 4d_arr_rx(5)
Print #1 , "Smartslider "
Case Smartknob: '37
Smartknob_idx = 4d_arr_rx(3)
Smartknob_val(1) = 4d_arr_rx(4)
Smartknob_val(2) = 4d_arr_rx(5)
Print #1 , "Smartknob "
Case Else:
Print #1 , "Event report wrong ID: " ; 4d_arr_rx(3)
'Clear Serialin4
'Print #1 , "S_pace: " ; S_pace
'Print #1 , "frame error"
End Select
Else
Printbin #lcd_4d , &H15 'send NACK message to the display
Print #1 , "Read oject CRC error !"
End If
Case A_ck: '&H06 ACK
Print #1 , "ACK" 'print ACK message to debug port
Ack_flag.0 = 0 'reset ack flag not really in use yet
Case Report_event: '&H07
Inputbin #4 , 4d_arr_rx(2) , 5 'get next 5
Xor_crc = Xor_this(4d_arr_rx(1)) ' check the crc
If 4d_arr_rx(6) = Xor_crc Then 'if crc ok then check what came
Select Case 4d_arr_rx(2) 'object ID
Case Dipswitch: '0
Dipswitch_idx = 4d_arr_rx(3)
Dipswitch_val(1) = 4d_arr_rx(4)
Dipswitch_val(2) = 4d_arr_rx(5)
Print #1 , "Dipswitch "
Case Knob: '1
Knob_idx = 4d_arr_rx(3)
Knob_val(1) = 4d_arr_rx(4)
Knob_val(2) = 4d_arr_rx(5)
Print #1 , "Knob "
Case Rockerswitch: '2
Rockerswitch_idx = 4d_arr_rx(3)
Rockerswitch_val(1) = 4d_arr_rx(4)
Rockerswitch_val(2) = 4d_arr_rx(5)
Print #1 , "Rockerswitch "
Case Rotaryswitch: '3
Rotaryswitch_idx = 4d_arr_rx(3)
Rotaryswitch_val(1) = 4d_arr_rx(4)
Rotaryswitch_val(2) = 4d_arr_rx(5)
Print #1 , "Rotaryswitch "
Case Slider: '4
Slider_idx = 4d_arr_rx(3)
Slider_val(1) = 4d_arr_rx(4)
Slider_val(2) = 4d_arr_rx(5)
Print #1 , "Slider "
Case Trackbar: '5
Trackbar_idx = 4d_arr_rx(3)
Trackbar_val(1) = 4d_arr_rx(4)
Trackbar_val(2) = 4d_arr_rx(5)
Print #1 , "Trackbar "
Case Winbutton: '6
Winbutton_idx = 4d_arr_rx(3)
Winbutton_val(1) = 4d_arr_rx(4)
Winbutton_val(2) = 4d_arr_rx(5)
Print #1 , "Winbutton "
Case Angularmeter: '7
Angularmeter_idx = 4d_arr_rx(3)
Angularmeter_val(1) = 4d_arr_rx(4)
Angularmeter_val(2) = 4d_arr_rx(5)
Print #1 , "Angularmeter "
Case Coolgauge: '8
Coolgauge_idx = 4d_arr_rx(3)
Coolgauge_val(1) = 4d_arr_rx(4)
Coolgauge_val(2) = 4d_arr_rx(5)
Print #1 , "Coolgauge "
Case Customdigits: '9
Customdigits_idx = 4d_arr_rx(3)
Customdigits_val(1) = 4d_arr_rx(4)
Customdigits_val(2) = 4d_arr_rx(5)
Print #1 , "Customdigits "
Case Form: '10
Form_idx = 4d_arr_rx(3)
Form_val(1) = 4d_arr_rx(4)
Form_val(2) = 4d_arr_rx(5)
Print #1 , "Form "
Case Gauge: '11
Gauge_idx = 4d_arr_rx(3)
Gauge_val(1) = 4d_arr_rx(4)
Gauge_val(2) = 4d_arr_rx(5)
Print #1 , "Gauge "
Case Image: '12
'Image_idx = 4d_arr_rx(3)
'Image_val(1) = 4d_arr_rx(4)
'Image_val(2) = 4d_arr_rx(5)
Print #1 , "Image "
Case Keyboard: '13
Keyboard_idx = 4d_arr_rx(3)
Keyboard_val(1) = 4d_arr_rx(4)
Keyboard_val(2) = 4d_arr_rx(5)
Print #1 , "Keyboard "
Case Led: '14
Led_idx = 4d_arr_rx(3)
Led_val(1) = 4d_arr_rx(4)
Led_val(2) = 4d_arr_rx(5)
Print #1 , "Led "
Case Leddigits: '15
Leddigits_idx = 4d_arr_rx(3)
Leddigits_val(1) = 4d_arr_rx(4)
Leddigits_val(2) = 4d_arr_rx(5)
Print #1 , "Leddigits "
Case Meter: '16
Meter_idx = 4d_arr_rx(3)
Meter_val(1) = 4d_arr_rx(4)
Meter_val(2) = 4d_arr_rx(5)
Print #1 , "Meter "
Case Strings: '17
Strings_idx = 4d_arr_rx(3)
Strings_val(1) = 4d_arr_rx(4)
Strings_val(2) = 4d_arr_rx(5)
Print #1 , "Strings "
Case Thermometer: '18
Thermometer_idx = 4d_arr_rx(3)
Thermometer_val(1) = 4d_arr_rx(4)
Thermometer_val(2) = 4d_arr_rx(5)
Print #1 , "Thermometer "
Case Userled: '19
Userled_idx = 4d_arr_rx(3)
Userled_val(1) = 4d_arr_rx(4)
Userled_val(2) = 4d_arr_rx(5)
Print #1 , "Userled "
Case Video: '20
Video_idx = 4d_arr_rx(3)
Video_val(1) = 4d_arr_rx(4)
Video_val(2) = 4d_arr_rx(5)
Debug "Video "
Case Statictext: '21
'Statictext_idx = 4d_arr_rx(3)
'Statictext_val(1) = 4d_arr_rx(4)
'Statictext_val(2) = 4d_arr_rx(5)
Print #1 , "Statictext "
Case S_ound: '22
S_ound_idx = 4d_arr_rx(3)
S_ound_val(1) = 4d_arr_rx(4)
S_ound_val(2) = 4d_arr_rx(5)
Print #1 , "S_ound "
Case T_imer: '23
T_imer_idx = 4d_arr_rx(3)
T_imer_val(1) = 4d_arr_rx(4)
T_imer_val(2) = 4d_arr_rx(5)
Print #1 , "T_imer "
Case Spectrum: '24
Spectrum_idx = 4d_arr_rx(3)
Spectrum_val(1) = 4d_arr_rx(4)
Spectrum_val(2) = 4d_arr_rx(5)
Print #1 , "Spectrum "
Case Scope: '25
Scope_idx = 4d_arr_rx(3)
Scope_val(1) = 4d_arr_rx(4)
Scope_val(2) = 4d_arr_rx(5)
Print #1 , "Scope "
Case Tank: '26
Tank_idx = 4d_arr_rx(3)
Tank_val(1) = 4d_arr_rx(4)
Tank_val(2) = 4d_arr_rx(5)
Print #1 , "Tank "
Case Userimages: '27
Userimages_idx = 4d_arr_rx(3)
Userimages_val(1) = 4d_arr_rx(4)
Userimages_val(2) = 4d_arr_rx(5)
Print #1 , "Userimages "
Case Pinoutput: '28
Pinoutput_idx = 4d_arr_rx(3)
'Pinoutput_val(1) = 4d_arr_rx(4)
Pinoutput_val = 4d_arr_rx(5)
Print #1 , "Pinoutput "
Case Pininput: '29
Pininput_idx = 4d_arr_rx(3)
'Pininput_val(1) = 4d_arr_rx(4)
Pininput_val = 4d_arr_rx(5)
Print #1 , "Pininput "
Case 4dbutton: '30
4dbutton_idx = 4d_arr_rx(3)
4dbutton_val(1) = 4d_arr_rx(4)
4dbutton_val(2) = 4d_arr_rx(5)
Print #1 , "4dbutton "
Case Anibutton: '31
Anibutton_idx = 4d_arr_rx(3)
Anibutton_val(1) = 4d_arr_rx(4)
Anibutton_val(2) = 4d_arr_rx(5)
Print #1 , "Anibutton "
Case Colorpicker: '32
Colorpicker_idx = 4d_arr_rx(3)
Colorpicker_val(1) = 4d_arr_rx(4)
Colorpicker_val(2) = 4d_arr_rx(5)
Print #1 , "Colorpicker "
Case Userbutton: '33
Userbutton_idx = 4d_arr_rx(3)
Userbutton_val(1) = 4d_arr_rx(4)
Userbutton_val(2) = 4d_arr_rx(5)
Print #1 , "Userbutton "
Case Magicobject: '34
Magicobject_idx = 4d_arr_rx(3)
Magicobject_val(1) = 4d_arr_rx(4)
Magicobject_val(2) = 4d_arr_rx(5)
Print #1 , "Magicobject "
Case Smartgauge: '35
Smartgauge_idx = 4d_arr_rx(3)
Smartgauge_val(1) = 4d_arr_rx(4)
Smartgauge_val(2) = 4d_arr_rx(5)
Print #1 , "Smartgauge "
Case Smartslider: '36
Smartslider_idx = 4d_arr_rx(3)
Smartslider_val(1) = 4d_arr_rx(4)
Smartslider_val(2) = 4d_arr_rx(5)
Print #1 , "Smartslider "
Case Smartknob: '37
Smartknob_idx = 4d_arr_rx(3)
Smartknob_val(1) = 4d_arr_rx(4)
Smartknob_val(2) = 4d_arr_rx(5)
Print #1 , "Smartknob "
Case Else:
Print #1 , "Event report wrong ID: " ; 4d_arr_rx(3)
Clear Serialin4
Print #1 , "S_pace" ; S_pace
Print #1 , "frame error"
End Select
Else
Printbin #lcd_4d , &H15
Print #1 , "Event CRC error"
End If
Case Nak:
Print #1 , "NACK" '&h15 NAK
Clear Serialin4
Case Else:
Print #1 , "Error in Code =: " ; 4d_arr_rx(1)
Clear Serialin4
Print #1 , "frame error"
End Select
Wend |