31 static const CnvParams _hex = CNV_DEFAULT_HEX;
34 const char cmd_bps_help[] =
"BPS - Configure and Read";
51 static uint16_t bpshexShort(
const char * input)
59 if (
cnvParseU(input, &out, params) != 4) {
65 static uint16_t bpsdecShort(
const char * input)
70 if (
cnvParseU(input, &out, params) <= 0) {
76 static uint8_t bpsdecByte(
const char * input)
81 if (
cnvParseU(input, &out, params) <= 0) {
88 bool cmd_bps_exec(
int argc,
const char *args[])
96 uint8_t val8, rd_val8;
106 if (argc < 1 || ((argc == 1) && (strcmp(args[0],
"help") == 0))) {
107 puts(
" bps sw_control ch val -- switch control channel value");
108 puts(
" bps alarm en ch val -- alarm enable channel value");
109 puts(
" bps alarm fired_get ch -- alarm fired_get channel");
111 puts(
" bps alarm th load|save ch Val-- Threshold alarm (load or save) analog_ch value");
112 puts(
" bps sens_single var -- read sensors single variable");
113 puts(
" bps sens_average -- read all sensor average");
114 puts(
" bps sens_max -- read all sensor MAX");
117 puts(
" bps rescue_enable val -- Enable or disable auto-rescue");
118 puts(
" bps sensor_maxvalue_reset val -- Reset the max value of one sensor");
121 else if(argc == 2 && strcmp(args[0],
"rescue_enable")== 0){
122 val8=bpsdecByte(args[1]);
124 printf(
"RescueEnable RD_Val = %x - %d (dec)\n", rd_val8, rd_val8);
127 else if(argc == 2 && strcmp(args[0],
"sensor_maxvalue_reset")== 0){
128 val8=bpsdecByte(args[1]);
130 printf(
"bpsSensorMaxvalueReset ch %d\n",val8);
133 else if(argc == 2 && strcmp(args[0],
"sens_single") == 0){
135 val8=bpsdecByte(args[1]);
137 printf(
"single sensors :\n");
138 printf(
"single_var_num = %d\n", singleV3.single_var_num);
139 printf(
"single_value = %d\n", singleV3.single_value);
140 printf(
"single_offset = %d\n", singleV3.single_offset);
141 printf(
"single_maxval = %d\n", singleV3.single_maxval);
142 printf(
"single_meanval = %d\n", singleV3.single_meanval);
146 else if(argc == 1 && strcmp(args[0],
"sens_max") == 0){
149 printf(
"SENSOR_MAX:\n");
150 printf(
"mon_5V_i = %d\n", sensV3.mon_5V_i);
151 printf(
"mon_LBL_i = %d\n", sensV3.mon_LBL_i);
152 printf(
"mon_DU_i = %d\n", sensV3.mon_DU_i);
153 printf(
"mon_DU_irtn = %d\n", sensV3.mon_DU_irtn);
154 printf(
"mon_BPS_v = %d\n", sensV3.mon_BPS_v);
155 printf(
"mon_HYDRO_i = %d\n", sensV3.mon_HYDRO_i);
156 printf(
"mon_MON_THEATSINK = %d\n", sensV3.mon_MON_THEATSINK);
157 printf(
"mon_TBOARD = %d\n", sensV3.mon_TBOARD);
158 printf(
"mon_ALRMPOS1 = %d\n", sensV3.mon_ALRMPOS1);
159 printf(
"mon_ALRMPOS2 = %d\n", sensV3.mon_ALRMPOS2);
160 printf(
"mon_ALRMNEG1 = %d\n", sensV3.mon_ALRMNEG1);
161 printf(
"mon_ALRMNEG2 = %d\n", sensV3.mon_ALRMNEG2);
185 else if(argc == 1 && strcmp(args[0],
"sens_average") == 0){
188 printf(
"AVERAGE sensors :\n");
189 printf(
"mon_5V_i_M = %d\n", saverageV3.mon_5V_i_M);
190 printf(
"mon_LBL_i_M = %d\n", saverageV3.mon_LBL_i_M);
191 printf(
"mon_DU_i_M = %d\n", saverageV3.mon_DU_i_M);
192 printf(
"mon_DU_irtn_M = %d\n", saverageV3.mon_DU_irtn_M);
193 printf(
"mon_BPS_v_M = %d\n", saverageV3.mon_BPS_v_M);
194 printf(
"mon_HYDRO_i_M = %d\n", saverageV3.mon_HYDRO_i_M);
195 printf(
"mon_MON_THEATSINK_M = %d\n", saverageV3.mon_MON_THEATSINK_M);
196 printf(
"mon_TBOARD_M = %d\n", saverageV3.mon_TBOARD_M);
216 else if(argc == 3 && strcmp(args[0],
"sw_control") == 0){
217 channel=bpsdecByte(args[1]);
218 val8=bpsdecByte(args[2]);
220 printf(
"sw_ctrl_channel = %x - %d (dec)\n",rd_sw_ctrl.sw_control_ch, rd_sw_ctrl.sw_control_ch );
221 printf(
"sw_ctrl_value = %x - %d (dec)\n",rd_sw_ctrl.sw_control_val, rd_sw_ctrl.sw_control_val);
226 else if(argc >= 2 && strcmp(args[0],
"alarm") == 0){
228 if(argc >= 3 && strcmp(args[1],
"en")== 0){
229 channel=bpsdecByte(args[2]);
230 val8=bpsdecByte(args[3]);
232 printf(
"alarm_en_ch = %x - %d (dec)\n",rd_alarm_en.alarm_ch, rd_alarm_en.alarm_ch );
233 printf(
"alarm_en_val = %x - %d (dec)\n",rd_alarm_en.alarm_val, rd_alarm_en.alarm_val);
236 else if(argc >= 3 && strcmp(args[1],
"fired_get")== 0){
237 channel=bpsdecByte(args[2]);
239 printf(
"alarm_fired_get_ch = %x - %d (dec)\n",rd_alarm_fired_get.alarm_ch, rd_alarm_fired_get.alarm_ch );
240 printf(
"alarm_fired_get_val = %x - %d (dec)\n",rd_alarm_fired_get.alarm_val, rd_alarm_fired_get.alarm_val);
263 else if(argc >= 3 && strcmp(args[1],
"th")== 0){
264 if(argc == 5 && strcmp(args[2],
"save")== 0){
265 channel = bpsdecByte(args[3]);
266 val16 = bpsdecShort(args[4]);
267 bpsAlarmThSaveV3(channel,val16);
269 else if(argc == 4 && strcmp(args[2],
"load")== 0){
270 channel = bpsdecByte(args[3]);
271 printf(
" read channel: %d \n",channel);
272 bpsAlarmThLoadV3(channel, &rthV3);
bool bpsSwitchControlV3(uint8_t ch, uint8_t val, SwCtrlV3 *sw_rd)
switch control
bool bpsReadSensorMaxV3(BpsRdSensAnswV3 *stat)
return all sensors' max values
bool bpsRescueEnable(uint8_t set_val, uint8_t *rd_val)
Version.
bool bpsAlarmFiredGetV3(uint8_t ch, BpsAlarmV3 *AlarmFiredGet)
Return flag of one alarm.
int cnvParseU(const char *input, uint32_t *output, CnvParams params)
Parse an unsigned integer.
Simple task scheduler for tasks.
bool bpsSensorMaxvalueReset(uint8_t set_val)
SENSOR_MAXVALUE_RESET set_val : Variable number.
#define CNV_BASE_HEX
Base of hex numbers.
#define CNV_DEFAULT
Default conversion/formatting parameters (base 10).
Manages the global system error.
This structure provides information about formatting and parsing.
bool bpsReadSensorAverageV3(BpsRdSensAverageAnswV3 *stat)
return all sensors' mean values
This module is responsible for distributing error codes.
uint8_t base
Base of the number to format or parse.
bool bpsAlarmEnV3(uint8_t ch, uint8_t val, BpsAlarmV3 *AlarmEn_rd)
Return current enable status.
This module implements parsing and formating of strings and integers.
bool bpsReadSensorSingleV3(uint8_t single_var, BpsRdSingleAnswV3 *stat)
return one sensor's current value, offset, max, mean value