comparison src/tft_outputs.asm @ 192:efe70488a04b

voting logic for external monitoring
author heinrichsweikamp
date Mon, 03 Nov 2014 17:25:19 +0100
parents d049511b25c6
children dcd513840c6c
comparison
equal deleted inserted replaced
191:d049511b25c6 192:efe70488a04b
950 950
951 global TFT_hud_voltages 951 global TFT_hud_voltages
952 TFT_hud_voltages: ; Show HUD details 952 TFT_hud_voltages: ; Show HUD details
953 WIN_SMALL .5,dive_hud_data_row 953 WIN_SMALL .5,dive_hud_data_row
954 call TFT_standard_color 954 call TFT_standard_color
955 btfss use_02_sensor1 955 btfss use_O2_sensor1
956 call TFT_warnings_color 956 call TFT_warnings_color
957 movff o2_mv_sensor1+0,lo 957 movff o2_mv_sensor1+0,lo
958 movff o2_mv_sensor1+1,hi 958 movff o2_mv_sensor1+1,hi
959 bsf leftbind 959 bsf leftbind
960 output_16dp .4 ; x.xx 960 output_16dp .4 ; x.xx
961 bcf leftbind 961 bcf leftbind
962 STRCAT_PRINT "mV " 962 STRCAT_PRINT "mV "
963 WIN_SMALL .55,dive_hud_data_row 963 WIN_SMALL .55,dive_hud_data_row
964 call TFT_standard_color 964 call TFT_standard_color
965 btfss use_02_sensor2 965 btfss use_O2_sensor2
966 call TFT_warnings_color 966 call TFT_warnings_color
967 movff o2_mv_sensor2+0,lo 967 movff o2_mv_sensor2+0,lo
968 movff o2_mv_sensor2+1,hi 968 movff o2_mv_sensor2+1,hi
969 bsf leftbind 969 bsf leftbind
970 output_16dp .4 ; x.xx 970 output_16dp .4 ; x.xx
971 bcf leftbind 971 bcf leftbind
972 STRCAT_PRINT "mV " 972 STRCAT_PRINT "mV "
973 WIN_SMALL .105,dive_hud_data_row 973 WIN_SMALL .105,dive_hud_data_row
974 call TFT_standard_color 974 call TFT_standard_color
975 btfss use_02_sensor3 975 btfss use_O2_sensor3
976 call TFT_warnings_color 976 call TFT_warnings_color
977 movff o2_mv_sensor3+0,lo 977 movff o2_mv_sensor3+0,lo
978 movff o2_mv_sensor3+1,hi 978 movff o2_mv_sensor3+1,hi
979 bsf leftbind 979 bsf leftbind
980 output_16dp .4 ; x.xx 980 output_16dp .4 ; x.xx
981 bcf leftbind 981 bcf leftbind
982 STRCAT_PRINT "mV " 982 STRCAT_PRINT "mV "
983 call TFT_standard_color 983 call TFT_standard_color
984 return 984 return
985 985
986 global TFT_update_hud ; Update HUD data 986 global TFT_update_ppo2_sensors ; Update Sensor data
987 TFT_update_hud: 987 TFT_update_ppo2_sensors:
988 ; show three sensors 988 ; show three sensors
989 bsf leftbind 989 bsf leftbind
990 movff o2_ppo2_sensor1,lo 990 btfsc use_O2_sensor1 ; Use Sensor 1?
991 tstfsz lo ; ppO2=0 (No data/failure)? 991 bra TFT_update_hud1 ; Yes
992 bra TFT_update_hud1 ; No
993 btfss dive_hud1_displayed ; Was the sensor shown? 992 btfss dive_hud1_displayed ; Was the sensor shown?
994 bra TFT_update_hud2 ; Yes, skip clear 993 bra TFT_update_hud2 ; Yes, skip clear
995 bcf dive_hud1_displayed ; No, clear display flag 994 bcf dive_hud1_displayed ; No, clear display flag
996 WIN_BOX_BLACK dive_hud_data_row, dive_hud_data_row+.30, dive_hud_sensor1_column, dive_hud_sensor2_column ; top, bottom, left, right 995 WIN_BOX_BLACK dive_hud_data_row, dive_hud_data_row+.31, dive_hud_sensor1_column, dive_hud_sensor2_column ; top, bottom, left, right
997 WIN_STD dive_hud_sensor1_column+.7,dive_hud_data_row+.5 996 WIN_STD dive_hud_sensor1_column+.7,dive_hud_data_row+.5
998 call TFT_standard_color 997 call TFT_standard_color
999 STRCPY_PRINT "---" 998 STRCPY_PRINT "---"
1000 bra TFT_update_hud2 ; Skip Sensor 1 999 bra TFT_update_hud2 ; Skip Sensor 1
1001 TFT_update_hud1: 1000 TFT_update_hud1:
1002 WIN_MEDIUM dive_hud_sensor1_column,dive_hud_data_row 1001 WIN_MEDIUM dive_hud_sensor1_column,dive_hud_data_row
1002 movff o2_ppo2_sensor1,lo
1003 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo 1003 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo
1004 btfss voting_logic_sensor1 ; Sensor within voting logic?
1005 bsf win_invert ; No, invert output...
1006 btfss voting_logic_sensor1
1007 call TFT_warnings_color ; ... and draw in red
1004 clrf hi 1008 clrf hi
1005 output_16dp .3 ; x.xx bar 1009 output_16dp .3 ; x.xx bar
1006 STRCAT_PRINT "" 1010 STRCAT_PRINT ""
1011 bcf win_invert
1007 bsf dive_hud1_displayed ; Set display flag 1012 bsf dive_hud1_displayed ; Set display flag
1008 TFT_update_hud2: 1013 TFT_update_hud2:
1009 movff o2_ppo2_sensor2,lo 1014 btfsc use_O2_sensor2 ; Use Sensor 2?
1010 tstfsz lo ; ppO2=0 (No data/failure)? 1015 bra TFT_update_hud3 ; Yes
1011 bra TFT_update_hud3 ; No
1012 btfss dive_hud2_displayed ; Was the sensor shown? 1016 btfss dive_hud2_displayed ; Was the sensor shown?
1013 bra TFT_update_hud4 ; Yes, skip clear 1017 bra TFT_update_hud4 ; Yes, skip clear
1014 bcf dive_hud2_displayed ; No, clear display flag 1018 bcf dive_hud2_displayed ; No, clear display flag
1015 WIN_BOX_BLACK dive_hud_data_row, dive_hud_data_row+.30, dive_hud_sensor2_column, dive_hud_sensor3_column ; top, bottom, left, right 1019 WIN_BOX_BLACK dive_hud_data_row, dive_hud_data_row+.31, dive_hud_sensor2_column, dive_hud_sensor3_column ; top, bottom, left, right
1016 WIN_STD dive_hud_sensor2_column+.7,dive_hud_data_row+.5 1020 WIN_STD dive_hud_sensor2_column+.7,dive_hud_data_row+.5
1017 call TFT_standard_color 1021 call TFT_standard_color
1018 STRCPY_PRINT "---" 1022 STRCPY_PRINT "---"
1019 bra TFT_update_hud4 ; Skip Sensor 2 1023 bra TFT_update_hud4 ; Skip Sensor 2
1020 TFT_update_hud3: 1024 TFT_update_hud3:
1021 WIN_MEDIUM dive_hud_sensor2_column,dive_hud_data_row 1025 WIN_MEDIUM dive_hud_sensor2_column,dive_hud_data_row
1026 movff o2_ppo2_sensor2,lo
1022 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo 1027 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo
1028 btfss voting_logic_sensor2 ; Sensor within voting logic?
1029 bsf win_invert ; No, invert output...
1030 btfss voting_logic_sensor2
1031 call TFT_warnings_color ; ... and draw in red
1023 clrf hi 1032 clrf hi
1024 output_16dp .3 ; x.xx bar 1033 output_16dp .3 ; x.xx bar
1025 STRCAT_PRINT "" 1034 STRCAT_PRINT ""
1035 bcf win_invert
1026 bsf dive_hud2_displayed ; Set display flag 1036 bsf dive_hud2_displayed ; Set display flag
1027 TFT_update_hud4: 1037 TFT_update_hud4:
1028 movff o2_ppo2_sensor3,lo 1038 btfsc use_O2_sensor3 ; Use Sensor 3?
1029 tstfsz lo ; ppO2=0 (No data/failure)? 1039 bra TFT_update_hud5 ; Yes
1030 bra TFT_update_hud5 ; No
1031 btfss dive_hud3_displayed ; Was the sensor shown? 1040 btfss dive_hud3_displayed ; Was the sensor shown?
1032 bra TFT_update_hud6 ; Yes, skip clear 1041 bra TFT_update_hud6 ; Yes, skip clear
1033 bcf dive_hud3_displayed ; No, clear display flag 1042 bcf dive_hud3_displayed ; No, clear display flag
1034 WIN_BOX_BLACK dive_hud_data_row, dive_hud_data_row+.30, dive_hud_sensor3_column, .159 ; top, bottom, left, right 1043 WIN_BOX_BLACK dive_hud_data_row, dive_hud_data_row+.31, dive_hud_sensor3_column, .159 ; top, bottom, left, right
1035 WIN_STD dive_hud_sensor3_column+.7,dive_hud_data_row+.5 1044 WIN_STD dive_hud_sensor3_column+.7,dive_hud_data_row+.5
1036 call TFT_standard_color 1045 call TFT_standard_color
1037 STRCPY_PRINT "---" 1046 STRCPY_PRINT "---"
1038 bra TFT_update_hud6 ; Skip Sensor 3 1047 bra TFT_update_hud6 ; Skip Sensor 3
1039 TFT_update_hud5: 1048 TFT_update_hud5:
1040 WIN_MEDIUM dive_hud_sensor3_column,dive_hud_data_row 1049 WIN_MEDIUM dive_hud_sensor3_column,dive_hud_data_row
1050 movff o2_ppo2_sensor3,lo
1041 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo 1051 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo
1052 btfss voting_logic_sensor3 ; Sensor within voting logic?
1053 bsf win_invert ; No, invert output...
1054 btfss voting_logic_sensor3
1055 call TFT_warnings_color ; ... and draw in red
1042 clrf hi 1056 clrf hi
1043 output_16dp .3 ; x.xx bar 1057 output_16dp .3 ; x.xx bar
1044 STRCAT_PRINT "" 1058 STRCAT_PRINT ""
1059 bcf win_invert
1045 bsf dive_hud3_displayed ; Set display flag 1060 bsf dive_hud3_displayed ; Set display flag
1046 TFT_update_hud6: 1061 TFT_update_hud6:
1047 bcf leftbind 1062 bcf leftbind
1048 call TFT_standard_color 1063 call TFT_standard_color
1049 return 1064 return
1051 global TFT_surface_sensor ; Update Sensor data in surface mode 1066 global TFT_surface_sensor ; Update Sensor data in surface mode
1052 TFT_surface_sensor: 1067 TFT_surface_sensor:
1053 ; show three sensors 1068 ; show three sensors
1054 bsf leftbind 1069 bsf leftbind
1055 WIN_SMALL surf_hud_sensor1_column,surf_hud_sensor1_row 1070 WIN_SMALL surf_hud_sensor1_column,surf_hud_sensor1_row
1056 movff o2_ppo2_sensor1,lo 1071 btfsc use_O2_sensor1 ; Use Sensor 1?
1057 tstfsz lo ; ppO2=0 (No data/failure)? 1072 bra TFT_surface_sensor1 ; Yes
1058 bra TFT_surface_sensor1 ; No
1059 call TFT_standard_color 1073 call TFT_standard_color
1060 STRCPY_PRINT "--- " 1074 STRCPY_PRINT "--- "
1061 bra TFT_surface_sensor2 ; Skip Sensor 1 1075 bra TFT_surface_sensor2 ; Skip Sensor 1
1062 TFT_surface_sensor1: 1076 TFT_surface_sensor1:
1077 movff o2_ppo2_sensor1,lo
1063 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo 1078 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo
1064 clrf hi 1079 clrf hi
1065 output_16dp .3 ; x.xx bar 1080 output_16dp .3 ; x.xx bar
1066 STRCAT_PRINT "" 1081 STRCAT_PRINT ""
1067 TFT_surface_sensor2: 1082 TFT_surface_sensor2:
1068 WIN_SMALL surf_hud_sensor2_column,surf_hud_sensor2_row 1083 WIN_SMALL surf_hud_sensor2_column,surf_hud_sensor2_row
1069 movff o2_ppo2_sensor2,lo 1084 btfsc use_O2_sensor2 ; Use Sensor 2?
1070 tstfsz lo ; ppO2=0 (No data/failure)? 1085 bra TFT_surface_sensor3 ; Yes
1071 bra TFT_surface_sensor3 ; No
1072 call TFT_standard_color 1086 call TFT_standard_color
1073 STRCPY_PRINT "--- " 1087 STRCPY_PRINT "--- "
1074 bra TFT_surface_sensor4 ; Skip Sensor 2 1088 bra TFT_surface_sensor4 ; Skip Sensor 2
1075 TFT_surface_sensor3: 1089 TFT_surface_sensor3:
1090 movff o2_ppo2_sensor2,lo
1076 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo 1091 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo
1077 clrf hi 1092 clrf hi
1078 output_16dp .3 ; x.xx bar 1093 output_16dp .3 ; x.xx bar
1079 STRCAT_PRINT "" 1094 STRCAT_PRINT ""
1080 TFT_surface_sensor4: 1095 TFT_surface_sensor4:
1081 WIN_SMALL surf_hud_sensor3_column,surf_hud_sensor3_row 1096 WIN_SMALL surf_hud_sensor3_column,surf_hud_sensor3_row
1082 movff o2_ppo2_sensor3,lo 1097 btfsc use_O2_sensor3 ; Use Sensor 3?
1083 tstfsz lo ; ppO2=0 (No data/failure)? 1098 bra TFT_surface_sensor5 ; Yes
1084 bra TFT_surface_sensor5 ; No
1085 call TFT_standard_color 1099 call TFT_standard_color
1086 STRCPY_PRINT "--- " 1100 STRCPY_PRINT "--- "
1087 bra TFT_surface_sensor6 ; Skip Sensor 3 1101 bra TFT_surface_sensor6 ; Skip Sensor 3
1088 TFT_surface_sensor5: 1102 TFT_surface_sensor5:
1103 movff o2_ppo2_sensor3,lo
1089 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo 1104 TFT_color_code warn_ppo2_hud ; With ppO2 [cbar] in lo
1090 clrf hi 1105 clrf hi
1091 output_16dp .3 ; x.xx bar 1106 output_16dp .3 ; x.xx bar
1092 STRCAT_PRINT "" 1107 STRCAT_PRINT ""
1093 TFT_surface_sensor6: 1108 TFT_surface_sensor6: