|
@@ -69,12 +69,12 @@
|
|
|
|
|
|
#define EVENT_MARK_C_D 0x0010
|
|
#define EVENT_MARK_C_D 0x0010
|
|
#define EVENT_MARK_CANCEL 0x0020
|
|
#define EVENT_MARK_CANCEL 0x0020
|
|
-#define EVENT_MARK_UNPIN 0x0018
|
|
|
|
|
|
+#define EVENT_MARK_UNPIN 0x0040
|
|
#define EVENT_MARK_BAT_LOW 0x0080
|
|
#define EVENT_MARK_BAT_LOW 0x0080
|
|
|
|
|
|
#define EVENT_MARK_SOS 0x0100
|
|
#define EVENT_MARK_SOS 0x0100
|
|
|
|
|
|
-#define SCAN_KEY_NUM 6
|
|
|
|
|
|
+#define SCAN_KEY_NUM 7
|
|
//RF TX packet
|
|
//RF TX packet
|
|
//$ABlora1,1E#,(µØÖ·AB£º0xF1234)
|
|
//$ABlora1,1E#,(µØÖ·AB£º0xF1234)
|
|
|
|
|
|
@@ -133,8 +133,8 @@ typedef struct __key_model {
|
|
}KEY_MODLE;
|
|
}KEY_MODLE;
|
|
|
|
|
|
KEY_MODLE keyboard_v[SCAN_KEY_NUM];
|
|
KEY_MODLE keyboard_v[SCAN_KEY_NUM];
|
|
-uint16_t keyboard_gpio[SCAN_KEY_NUM] = {CANCEL_KEY_Pin, CHANGE_KEY_Pin, HADLE_KEY_Pin, CALL_KEY_Pin, NURSE_KEY_Pin, REINFORCE_KEY_Pin};
|
|
|
|
-GPIO_TypeDef *key_io_group[SCAN_KEY_NUM] = {CANCEL_KEY_GPIO_Port, CHANGE_KEY_GPIO_Port, HADLE_KEY_GPIO_Port, CALL_KEY_GPIO_Port, NURSE_KEY_GPIO_Port, REINFORCE_KEY_GPIO_Port};
|
|
|
|
|
|
+uint16_t keyboard_gpio[SCAN_KEY_NUM] = {CANCEL_KEY_Pin, CHANGE_KEY_Pin, HADLE_KEY_Pin, CALL_KEY_Pin, NURSE_KEY_Pin, REINFORCE_KEY_Pin, UNPIN_KEY_Pin};
|
|
|
|
+GPIO_TypeDef *key_io_group[SCAN_KEY_NUM] = {CANCEL_KEY_GPIO_Port, CHANGE_KEY_GPIO_Port, HADLE_KEY_GPIO_Port, CALL_KEY_GPIO_Port, NURSE_KEY_GPIO_Port, REINFORCE_KEY_GPIO_Port, UNPIN_KEY_GPIO_Port};
|
|
uart_comm uart1;
|
|
uart_comm uart1;
|
|
|
|
|
|
extern DMA_HandleTypeDef hdma_usart1_rx;
|
|
extern DMA_HandleTypeDef hdma_usart1_rx;
|
|
@@ -313,6 +313,13 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|
event_bits |= EVENT_MARK_CB;
|
|
event_bits |= EVENT_MARK_CB;
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
+ case UNPIN_KEY_Pin:
|
|
|
|
+#if ENABLE_UART1_DEBUG
|
|
|
|
+ printf("UNPIN_KEY_Pin.\r\n");
|
|
|
|
+#endif
|
|
|
|
+ event_bits |= EVENT_MARK_UNPIN;
|
|
|
|
+ break;
|
|
|
|
+
|
|
default:
|
|
default:
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -653,6 +660,13 @@ static void event_scan_key_status(void)
|
|
event_bits |= EVENT_MARK_CB;
|
|
event_bits |= EVENT_MARK_CB;
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
+ case UNPIN_KEY_Pin:
|
|
|
|
+ #if ENABLE_UART1_DEBUG
|
|
|
|
+ printf("UNPIN_KEY_Pin.\r\n");
|
|
|
|
+ #endif
|
|
|
|
+ event_bits |= EVENT_MARK_UNPIN;
|
|
|
|
+ break;
|
|
|
|
+
|
|
default:
|
|
default:
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -699,38 +713,29 @@ static uint8_t event_checkout_and_scan(void)
|
|
type = VALUE_CANCEL;//VALUE_CALL;
|
|
type = VALUE_CANCEL;//VALUE_CALL;
|
|
event_response_func(type);
|
|
event_response_func(type);
|
|
event_bits &= ~EVENT_MARK_CALL;
|
|
event_bits &= ~EVENT_MARK_CALL;
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- //multi-key event at the same time
|
|
|
|
- //if(flag_cd_event == 1 && flag_handle_event == 1)
|
|
|
|
-// if ((event_bits & EVENT_MARK_HANDLE) == EVENT_MARK_HANDLE &&
|
|
|
|
-// ((event_bits & EVENT_MARK_C_D) == EVENT_MARK_C_D))
|
|
|
|
- if((event_bits&EVENT_MARK_UNPIN)==EVENT_MARK_UNPIN)
|
|
|
|
|
|
+ if (event_bits & EVENT_MARK_UNPIN)
|
|
{
|
|
{
|
|
type = VALUE_UNPIN;
|
|
type = VALUE_UNPIN;
|
|
event_response_func(type);
|
|
event_response_func(type);
|
|
- //flag_cd_event = 0;
|
|
|
|
- //flag_handle_event = 0;
|
|
|
|
- event_bits &= ~EVENT_MARK_HANDLE;
|
|
|
|
- event_bits &= ~EVENT_MARK_C_D;
|
|
|
|
|
|
+ event_bits &= ~EVENT_MARK_UNPIN;
|
|
}
|
|
}
|
|
- else
|
|
|
|
|
|
+
|
|
|
|
+ if (event_bits & EVENT_MARK_HANDLE)
|
|
{
|
|
{
|
|
- if (event_bits & EVENT_MARK_HANDLE)
|
|
|
|
- {
|
|
|
|
- type = VALUE_HANDLE_CALL;
|
|
|
|
- flag_handle_event = 1;
|
|
|
|
- event_response_func(type);
|
|
|
|
- event_bits &= ~EVENT_MARK_HANDLE;
|
|
|
|
- }
|
|
|
|
|
|
+ type = VALUE_HANDLE_CALL;
|
|
|
|
+ flag_handle_event = 1;
|
|
|
|
+ event_response_func(type);
|
|
|
|
+ event_bits &= ~EVENT_MARK_HANDLE;
|
|
|
|
+ }
|
|
|
|
|
|
- if (event_bits & EVENT_MARK_C_D)
|
|
|
|
- {
|
|
|
|
- type = VALUE_C_D;
|
|
|
|
- flag_cd_event = 1;
|
|
|
|
- event_response_func(type);
|
|
|
|
- event_bits &= ~EVENT_MARK_C_D;
|
|
|
|
- }
|
|
|
|
|
|
+ if (event_bits & EVENT_MARK_C_D)
|
|
|
|
+ {
|
|
|
|
+ type = VALUE_C_D;
|
|
|
|
+ flag_cd_event = 1;
|
|
|
|
+ event_response_func(type);
|
|
|
|
+ event_bits &= ~EVENT_MARK_C_D;
|
|
}
|
|
}
|
|
|
|
|
|
if (event_bits & EVENT_MARK_SOS)
|
|
if (event_bits & EVENT_MARK_SOS)
|