1
0
mirror of https://github.com/Utyff/Zintercom.git synced 2026-01-12 09:17:41 +03:00
This commit is contained in:
Utyf
2022-02-20 16:35:16 +03:00
parent b2ac615230
commit 07f7ac2147
3 changed files with 6 additions and 42 deletions

View File

@@ -64,7 +64,7 @@
#define INT_HEAP_LEN 2060 #define INT_HEAP_LEN 2060
#endif #endif
#define BTN_HOLD_TIME 1000 #define BTN_HOLD_TIME 2000
#define FACTORY_RESET_HOLD_TIME_LONG 10000 #define FACTORY_RESET_HOLD_TIME_LONG 10000
#if defined( DO_DEBUG_UART ) #if defined( DO_DEBUG_UART )

View File

@@ -68,8 +68,6 @@ byte zclApp_TaskID;
* LOCAL VARIABLES * LOCAL VARIABLES
*/ */
//static uint8 currentBtnClickPhase = 0;
//static byte BtnClickCount = 0;
/********************************************************************* /*********************************************************************
* LOCAL FUNCTIONS * LOCAL FUNCTIONS
@@ -105,9 +103,8 @@ static zclGeneral_AppCallbacks_t zclApp_CmdCallbacks = {
NULL, // RSSI Location command NULL, // RSSI Location command
NULL // RSSI Location Response command NULL // RSSI Location Response command
}; };
void zclApp_Init(byte task_id) {
//HalLedSet(HAL_LED_ALL, HAL_LED_MODE_BLINK);
void zclApp_Init(byte task_id) {
zclApp_RestoreAttributesFromNV(); zclApp_RestoreAttributesFromNV();
zclApp_TaskID = task_id; zclApp_TaskID = task_id;
@@ -134,7 +131,6 @@ void zclApp_Init(byte task_id) {
#if defined( ZIC_BATTERY_MODE ) #if defined( ZIC_BATTERY_MODE )
ZMacSetTransmitPower(TX_PWR_PLUS_4); // set 4dBm ZMacSetTransmitPower(TX_PWR_PLUS_4); // set 4dBm
#endif #endif
} }
static void zclApp_ControlPinsInit (void) { static void zclApp_ControlPinsInit (void) {
@@ -148,38 +144,24 @@ static void zclApp_ControlPinsInit (void) {
static void zclApp_HandleKeys(byte portAndAction, byte keyCode) { static void zclApp_HandleKeys(byte portAndAction, byte keyCode) {
//LREP("zclApp_HandleKeys portAndAction=0x%X keyCode=0x%X\r\n", portAndAction, keyCode);
//zclCommissioning_HandleKeys(portAndAction, keyCode);
if (portAndAction & KEY_INCOME_PORT) { //P0 Ring //S1 P0_1 TODO add check Income pin if (portAndAction & KEY_INCOME_PORT) { //P0 Ring //S1 P0_1 TODO add check Income pin
//exit old stop timer //exit old stop timer
osal_stop_timerEx(zclApp_TaskID, APP_RING_STOP_EVT); osal_stop_timerEx(zclApp_TaskID, APP_RING_STOP_EVT);
//osal_clear_event(zclApp_TaskID, APP_RING_STOP_EVT);
//start new stop timer (ring ends timer)
//osal_start_timerEx(zclApp_TaskID, APP_RING_STOP_EVT, 3000);
//zclApp_Config.TimeRing
uint32 TimeBell = (uint32)zclApp_Config.TimeBell *(uint32)1000; uint32 TimeBell = (uint32)zclApp_Config.TimeBell *(uint32)1000;
osal_start_timerEx(zclApp_TaskID, APP_RING_STOP_EVT, (uint32)TimeBell); osal_start_timerEx(zclApp_TaskID, APP_RING_STOP_EVT, (uint32)TimeBell);
if (portAndAction & HAL_KEY_PRESS) { if (portAndAction & HAL_KEY_PRESS) {
//start ring
//start ring
if (zclApp_State.RingRunStep == 0) { if (zclApp_State.RingRunStep == 0) {
#if defined( ZIC_BATTERY_MODE ) #if defined( ZIC_BATTERY_MODE )
osal_pwrmgr_task_state(zclApp_TaskID, PWRMGR_HOLD); osal_pwrmgr_task_state(zclApp_TaskID, PWRMGR_HOLD);
#endif #endif
LREPMaster("Ring start\r\n"); LREPMaster("Ring start\r\n");
//HalLedSet(LED_PIN, HAL_LED_MODE_BLINK);
zclApp_State.RingRunStep = 1; zclApp_State.RingRunStep = 1;
//osal_start_reload_timer(zclApp_TaskID, APP_RING_RUN_EVT, 500);
osal_start_timerEx(zclApp_TaskID, APP_RING_RUN_EVT, 500); osal_start_timerEx(zclApp_TaskID, APP_RING_RUN_EVT, 500);
afAddrType_t inderect_DstAddr = {.addrMode = (afAddrMode_t)AddrNotPresent, .endPoint = 0, .addr.shortAddr = 0}; afAddrType_t inderect_DstAddr = {.addrMode = (afAddrMode_t)AddrNotPresent, .endPoint = 0, .addr.shortAddr = 0};
zclGeneral_SendOnOff_CmdOn(zclApp_FirstEP.EndPoint, &inderect_DstAddr, FALSE, bdb_getZCLFrameCounter()); zclGeneral_SendOnOff_CmdOn(zclApp_FirstEP.EndPoint, &inderect_DstAddr, FALSE, bdb_getZCLFrameCounter());
} }
} }
} }
if (portAndAction & KEY1_PORT) { //P2 Btn //S2 P2_0 TODO add check BUTTON pin if (portAndAction & KEY1_PORT) { //P2 Btn //S2 P2_0 TODO add check BUTTON pin
@@ -188,7 +170,7 @@ static void zclApp_HandleKeys(byte portAndAction, byte keyCode) {
LREPMaster("Key pressed\r\n"); LREPMaster("Key pressed\r\n");
zclApp_State.clicks++; zclApp_State.clicks++;
osal_start_timerEx(zclApp_TaskID, APP_BTN_HOLD_EVT, 2000); osal_start_timerEx(zclApp_TaskID, APP_BTN_HOLD_EVT, BTN_HOLD_TIME);
osal_stop_timerEx(zclApp_TaskID, APP_BTN_CLICK_EVT); osal_stop_timerEx(zclApp_TaskID, APP_BTN_CLICK_EVT);
} }
if (portAndAction & HAL_KEY_RELEASE) { if (portAndAction & HAL_KEY_RELEASE) {
@@ -206,8 +188,6 @@ static void zclApp_HandleKeys(byte portAndAction, byte keyCode) {
} }
uint16 zclApp_event_loop(uint8 task_id, uint16 events) { uint16 zclApp_event_loop(uint8 task_id, uint16 events) {
LREP("events 0x%x \r\n", events); LREP("events 0x%x \r\n", events);
if (events & SYS_EVENT_MSG) { if (events & SYS_EVENT_MSG) {
@@ -302,8 +282,7 @@ static void zclApp_RingRun(void) {
LREP("zclApp_State.State %d\r\n", zclApp_State.State); LREP("zclApp_State.State %d\r\n", zclApp_State.State);
osal_start_timerEx(zclApp_TaskID, APP_RING_RUN_EVT, 500); osal_start_timerEx(zclApp_TaskID, APP_RING_RUN_EVT, 500);
switch (zclApp_State.State) { switch (zclApp_State.State) {
case Idle: case Idle:
zclApp_State.State = Ring; zclApp_State.State = Ring;
@@ -326,7 +305,6 @@ static void zclApp_RingRun(void) {
if ((zclApp_Config.ModeOpen == Once) || (zclApp_Config.ModeOpen == Always)){ if ((zclApp_Config.ModeOpen == Once) || (zclApp_Config.ModeOpen == Always)){
if (zclApp_State.RingRunStep > ((zclApp_Config.TimeRing + zclApp_Config.TimeTalk) * 2)) { if (zclApp_State.RingRunStep > ((zclApp_Config.TimeRing + zclApp_Config.TimeTalk) * 2)) {
zclApp_State.State = Open; zclApp_State.State = Open;
//HalLedSet(ANSWER_PIN, HAL_LED_MODE_OFF);
ANSWER_O_PIN = 0; ANSWER_O_PIN = 0;
zclApp_OneReport(); zclApp_OneReport();
} }
@@ -352,33 +330,22 @@ static void zclApp_RingRun(void) {
static void zclApp_TalkStart(void) { static void zclApp_TalkStart(void) {
LREPMaster("Talk start\r\n"); LREPMaster("Talk start\r\n");
//osal_stop_timerEx(zclApp_TaskID, APP_RING_STOP_EVT);
//osal_clear_event(zclApp_TaskID, APP_RING_STOP_EVT);
zclApp_OneReport(); zclApp_OneReport();
//HalLedSet(ANSWER_PIN, HAL_LED_MODE_ON);
ANSWER_O_PIN = 1; ANSWER_O_PIN = 1;
if (zclApp_Config.ModeSound == true) { if (zclApp_Config.ModeSound == true) {
//HalLedSet(HANDSET_PIN, HAL_LED_MODE_ON);
HANDSET_O_PIN = 1; HANDSET_O_PIN = 1;
} }
else { else {
//HalLedSet(CATCH_PIN, HAL_LED_MODE_OFF);
CATCH_O_PIN = 0; CATCH_O_PIN = 0;
} }
} }
static void zclApp_RingEnd(void) { static void zclApp_RingEnd(void) {
LREPMaster("Ring end\r\n"); LREPMaster("Ring end\r\n");
//HalLedSet(CATCH_PIN, !zclApp_Config.ModeSound);
CATCH_O_PIN = !zclApp_Config.ModeSound; CATCH_O_PIN = !zclApp_Config.ModeSound;
//HalLedSet(HANDSET_PIN, !zclApp_Config.ModeSound);
HANDSET_O_PIN = !zclApp_Config.ModeSound; HANDSET_O_PIN = !zclApp_Config.ModeSound;
//HalLedSet(ANSWER_PIN, HAL_LED_MODE_OFF);
ANSWER_O_PIN = 0; ANSWER_O_PIN = 0;
osal_stop_timerEx(zclApp_TaskID, APP_RING_RUN_EVT); osal_stop_timerEx(zclApp_TaskID, APP_RING_RUN_EVT);
//osal_clear_event(zclApp_TaskID, APP_RING_RUN_EVT);
//osal_stop_timerEx(zclApp_TaskID, APP_RING_STOP_EVT);
//osal_clear_event(zclApp_TaskID, APP_RING_STOP_EVT);
zclApp_State.RingRunStep = 0; zclApp_State.RingRunStep = 0;
zclApp_State.State = Idle; zclApp_State.State = Idle;
@@ -511,11 +478,8 @@ static void zclApp_ConfigInit(bool restart) {
LREP("Start report with interval %d seconds\r\n", ReportInterval); LREP("Start report with interval %d seconds\r\n", ReportInterval);
osal_start_reload_timer(zclApp_TaskID, APP_REPORT_EVT, ((uint32)ReportInterval*(uint32)1000)); osal_start_reload_timer(zclApp_TaskID, APP_REPORT_EVT, ((uint32)ReportInterval*(uint32)1000));
//HalLedSet(HANDSET_PIN, !zclApp_Config.ModeSound);
HANDSET_O_PIN = !zclApp_Config.ModeSound; HANDSET_O_PIN = !zclApp_Config.ModeSound;
//HalLedSet(CATCH_PIN, !zclApp_Config.ModeSound);
CATCH_O_PIN = !zclApp_Config.ModeSound; CATCH_O_PIN = !zclApp_Config.ModeSound;
//HalLedSet(ANSWER_PIN, HAL_LED_MODE_OFF);
ANSWER_O_PIN = 0; ANSWER_O_PIN = 0;
} }

View File

@@ -61,7 +61,7 @@ extern "C" {
#define BLUE_LED_PIN HAL_LED_1 #define BLUE_LED_PIN HAL_LED_1
#define GREEN_LED_PIN HAL_LED_2 #define GREEN_LED_PIN HAL_LED_2
#define RED_LED_PIN HAL_LED_3 #define RED_LED_PIN HAL_LED_3
//#define HANDSET_PIN HAL_LED_4 #define OLDLED_PIN HAL_LED_4
#define CATCH_O_PIN P0_1 #define CATCH_O_PIN P0_1
#define ANSWER_O_PIN P0_2 #define ANSWER_O_PIN P0_2