Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * app_cy_touch_button.c
- *
- * Created on: Apr 7, 2019
- * Author: Thinh Nguyen
- */
- #ifndef APP_CY_TOUCH_BUTTON_C_
- #define APP_CY_TOUCH_BUTTON_C_
- #include "app_cy_touch_button.h"
- #include "stdlib.h"
- #include "zps_gen.h"
- #include "drv_led.h"
- #include "app_motor_ctrl.h"
- #include "app_router_dimmer.h"
- #include "app_reporting.h"
- #ifndef TRACE_APP_CY
- #define TRACE_APP_CY TRUE
- #endif
- #define TRAN_SLIDER(target_) g_pSlider->lastState = g_pSlider->state; g_pSlider->state = (uint8_t)(target_)
- #define TRAN_BUTTON(target_) (g_pButton->state = (uint8_t)(target_))
- Slider g_Slider;
- Slider* g_pSlider = (Slider*)&g_Slider;
- Button* g_pButton;
- uint32 g_u32ZeroDetectFalseCount = 0;
- bool bI2CInitedOK = FALSE;
- /****************************************************************************
- *
- * NAME: APP_bI2CInitalise
- *
- * DESCRIPTION:
- * I2C Initialization
- *
- * PARAMETER: void
- *
- * RETURNS: bool
- *
- ****************************************************************************/
- PUBLIC bool_t APP_bI2CInitalise(void) //
- {
- DBG_vPrintf(TRUE,"APP_bI2CInitalise thinhnt13 \n");
- //Slider_Init(g_pSlider);
- Host_Init();;
- APP_cbTimerI2C(NULL);
- return TRUE;
- }
- PUBLIC void Button_Init(Button *but)
- {
- but->state = BUTTON_NONTOUCH_STATE;
- but->last_state = BUTTON_NONTOUCH_STATE;
- but->timeout = APP_CY_BUTTON_TIMEOUT_MS;
- }
- /**
- * Turn on/off slider because pressing down button
- * @param slider slider itself
- * @param bOn Turn on if TRUE, turn off if FALSE
- */
- PRIVATE void APP_Slider_TurnOnOff(Slider* slider, bool_t bOn)
- {
- // TODO: Continue to develope & test
- // TODO: Update the LED according to cur_slide position
- if (bOn) {
- // Change slider position to
- slider->cur_pos = slider->default_pos;
- slider->u8OnState = 1;
- TRAN_SLIDER(SLIDING_STOP_STATE);
- // APP_SET_DIM_PULSE_ON;
- // APP_vGetDimmerPeriod(slider);
- // Enable Zerodetect interrupt
- g_ZeroDetectEnable = TRUE;
- vAHI_DioInterruptEnable(APP_ZERO_DETECT_MASK, 0);
- } else {
- g_ZeroDetectEnable = FALSE;
- slider->state = SLIDING_OFF_STATE;
- slider->u8OnState = 0;
- slider->cur_pos = slider->min_pos;
- vAHI_DioInterruptEnable(0, APP_ZERO_DETECT_MASK);
- vAHI_TimerDisable(E_AHI_TIMER_2);
- APP_SET_DIM_PULSE_OFF;
- // APP_vGetDimmerPeriod(slider);
- }
- }
- PUBLIC void Slider_Init(Slider *slider)
- {
- slider->state = SLIDING_OFF_STATE;
- slider->u8OnState = 0;
- slider->u8LastOnState = 0;
- slider->timeout = APP_CY_SLIDER_TIMEOUT_MS;
- slider->min_change = APP_CY_SLIDER_MIN_CHANGE;
- slider->max_change = APP_CY_SLIDER_MAX_CHANGE;
- slider->max_pos = APP_CY_SLIDER_MAX_VAL;
- slider->min_pos = APP_CY_SLIDER_MIN_VAL;
- slider->default_pos = APP_CY_SLIDER_DEFAULT_VALUE;
- slider->cur_pos = slider->min_pos; // off state
- slider->last_pos = slider->max_pos;
- vAHI_DioInterruptEnable(0, APP_ZERO_DETECT_MASK);
- vAHI_TimerDisable(E_AHI_TIMER_2);
- APP_SET_DIM_PULSE_OFF;
- APP_vGetDimmerPeriod(slider);
- // APP_Slider_TurnOnOff(slider, FALSE);
- }
- PRIVATE void App_vPrintSensorStatus(CY8CMBR3xxx_SENSORSTATUS sensorStatus)
- {
- DBG_vPrintf(TRACE_APP_CY, "=======CY8CMBR3xxx_SENSORSTATUS====== \r\n");
- DBG_vPrintf(TRACE_APP_CY, "buttonStatus = 0x%x\r\n", sensorStatus.buttonStatus);
- DBG_vPrintf(TRACE_APP_CY, "latchedButtonStatus = 0x%x\r\n", sensorStatus.latchedButtonStatus);
- DBG_vPrintf(TRACE_APP_CY, "proxStatus = 0x%x\r\n", sensorStatus.proxStatus);
- DBG_vPrintf(TRACE_APP_CY, "latchedProxStatus = 0x%x\r\n", sensorStatus.latchedProxStatus);
- DBG_vPrintf(TRACE_APP_CY, "slider1Position = 0x%x\r\n", sensorStatus.slider1Position);
- DBG_vPrintf(TRACE_APP_CY, "liftoffSlider1Position = 0x%x\r\n", sensorStatus.liftoffSlider1Position);
- DBG_vPrintf(TRACE_APP_CY, "slider2Position = 0x%x\r\n", sensorStatus.slider2Position);
- DBG_vPrintf(TRACE_APP_CY, "liftoffSlider2Position = 0x%x\r\n", sensorStatus.liftoffSlider2Position);
- }
- PRIVATE void TurnOnDimmerLED(void* param) {
- APP_LED_vTurnOn(BOARD_LED_CS01_PIN);
- APP_LED_vTurnOff(BOARD_LED_CS02_PIN);
- //APP_vSliderDisplay((uint16)sDimmerLight.sLevelControlServerCluster.u8CurrentLevel*100/254);
- }
- PRIVATE void TurnOffDimmerLED(void* param) {
- APP_LED_vTurnOn(BOARD_LED_CS02_PIN);
- APP_LED_vTurnOff(BOARD_LED_CS01_PIN);
- //APP_vSliderDisplay((uint16)sDimmerLight.sLevelControlServerCluster.u8CurrentLevel*100/254);
- }
- PUBLIC void APP_vGetDimmerPeriod(Slider* pSlider)
- {
- #if 1
- #define A1 -0.4333
- #define B1 93
- #define A22 -0.0005
- #define A21 -0.0594
- #define A20 81.885
- #define A3 -1.5
- #define B3 379.5
- #else
- #define A4 6e-8
- #define A3 -2e-05
- #define A2 -0.0007
- #define A1 -0.274
- #define A0 90.931
- #endif
- static uint8_t u8Pers[11] = {100, 80, 70, 65, 60, 55, 50, 45, 30, 10, 0};
- bool bReported;
- uint16_t u16Idx= (pSlider->cur_pos*100/pSlider->max_pos)/10;
- pSlider->u8Per = u8Pers[u16Idx];
- float X = (float)pSlider->cur_pos;
- float X2 = X*X;
- float X3 = X2*X;
- float X4 = X3*X;
- float fPer;
- // fPer = A4*X4+ A3*X3 + A2*X2+ A1*X + A0;
- if (pSlider->cur_pos < 30) {
- fPer = A1*X+B1;
- } else if (pSlider->cur_pos > 220) {
- fPer = A3*X+B3;
- } else {
- fPer = A22*X2+A21*X+A20;
- }
- if (fPer > 100)
- fPer = 100;
- if (fPer < 0)
- fPer = 0;
- g_u16Per = 6*(fPer);
- // DBG_vPrintf(TRACE_APP_CY, "pSlider->cur_pos = %d, fPer = %d, g_u16Per = %d\r\n", pSlider->cur_pos, (int)fPer, g_u16Per);
- if ( (pSlider->u8OnState != pSlider->u8LastOnState) ||
- (pSlider->u8OnState && pSlider->cur_pos != pSlider->last_pos))
- {
- if (pSlider->u8OnState != pSlider->u8LastOnState)
- {
- g_u16RealPer = g_u16Per;
- // something change
- sDimmerLight.sOnOffServerCluster.bOnOff = pSlider->u8OnState;
- pSlider->u8LastOnState = pSlider->u8OnState;
- bReported = bSendImmediateReportOnOff(ROUTER_DIMMER_SW1_ENDPOINT);
- if (pSlider->u8OnState)
- {
- if (pSlider->state == SLIDING_STOP_STATE) {
- bReported = bSendImmediateReportLevel(ROUTER_DIMMER_SW1_ENDPOINT);
- }
- }
- }
- sDimmerLight.sLevelControlServerCluster.u8CurrentLevel = pSlider->cur_pos;
- DBG_vPrintf(TRACE_APP_CY, "APP_vGetDimmerPeriod: sDimmerLight bOnOff = %d.\r\n", sDimmerLight.sOnOffServerCluster.bOnOff);
- DBG_vPrintf(TRACE_APP_CY, "APP_vGetDimmerPeriod: sDimmerLight u8CurrentLevel = %d.\r\n", sDimmerLight.sLevelControlServerCluster.u8CurrentLevel);
- pSlider->last_pos = pSlider->cur_pos;
- // Display Leds Here
- if (!App_bIsEnodeStateRunning())
- {
- DBG_vPrintf(TRACE_APP_CY, "\r\nAPP_vGetDimmerPeriod: App_bIsEnodeState is not running\r\n");
- if (pSlider->u8LastOnState) {
- APP_LED_vTurnOff(BOARD_LED_CS02_PIN);
- APP_LED_vBlink(BOARD_LED_CS01_PIN,3000, 500, TurnOnDimmerLED,NULL);
- } else {
- APP_LED_vTurnOff(BOARD_LED_CS01_PIN);
- APP_LED_vBlink(BOARD_LED_CS02_PIN,3000, 500, TurnOffDimmerLED,NULL);
- }
- } else {
- if (pSlider->u8LastOnState) {
- TurnOnDimmerLED(NULL);
- } else {
- TurnOffDimmerLED(NULL);
- }
- }
- }
- else if (pSlider->u8OnState)
- {
- if (pSlider->state == SLIDING_STOP_STATE) {
- bReported = bSendImmediateReportLevel(ROUTER_DIMMER_SW1_ENDPOINT);
- }
- }
- APP_vSliderDisplay((uint16)sDimmerLight.sLevelControlServerCluster.u8CurrentLevel*100/254);
- // DBG_vPrintf(TRACE_APP_CY, "g_u16Per = %d\r\n", g_u16Per);
- }
- PUBLIC void APP_Slider_Dispatch(Slider* slider, APP_tsEvent const evt)
- {
- DBG_vPrintf(TRACE_APP_CY, "APP_Slider_Dispatch slider->state = %d evt.eType = %d\r\n",
- slider->state, evt.eType);
- uint16 u16Diff = abs(evt.uEvent.sSlider.u16SliderValue - slider->cur_pos);
- static uint8 u8DevChangingDirection = 1;
- switch (slider->state) {
- case SLIDING_STOP_STATE:
- // if CS0 button is down
- if (evt.eType == APP_E_EVENT_BUTTON_DOWN)
- {
- if (evt.uEvent.sButton.u8Button == APP_E_BUTTONS_CY_BUTTON_CS0 ||
- evt.uEvent.sButton.u8Button == APP_E_BUTTONS_BUTTON_HI_BUZ_N // for test only
- )
- {
- // Change state of button from ON --> OFF
- DBG_vPrintf(TRACE_APP_CY, "[Slider][STOP] should change from ON --> OFF because CS0 \r\n");
- APP_Slider_TurnOnOff(slider, FALSE);
- }
- /* For testing only*/
- else if (evt.uEvent.sButton.u8Button == APP_E_BUTTONS_CY_BUTTON_DEV1)
- {
- DBG_vPrintf(TRACE_APP_CY, "[Slider][STOP] DEV1 BUTTON pressed\r\n");
- if (u8DevChangingDirection == 1 && slider->cur_pos == slider->max_pos) {
- u8DevChangingDirection = 0;
- } else if (u8DevChangingDirection == 0 && slider->cur_pos == 0) {
- u8DevChangingDirection = 1;
- }
- if (u8DevChangingDirection == 1) {
- slider->cur_pos += slider->max_change;
- if (slider->cur_pos > slider->max_pos)
- slider->cur_pos = slider->max_pos;
- } else {
- slider->cur_pos -= slider->max_change;
- if (slider->cur_pos < slider->min_pos)
- slider->cur_pos = 0;
- }
- }
- /* Pressing CS1 (+) Button*/
- else if (evt.uEvent.sButton.u8Button == APP_E_BUTTONS_CY_BUTTON_CS1)
- {
- app_motor_start();
- DBG_vPrintf(TRACE_APP_CY, "[Slider][STOP] CS1 BUTTON pressed\r\n");
- APP_LED_vBlink(BOARD_LED_CS11_PIN, 500, 500, NULL, NULL);//(LED_CS11, 1, 0, 500,500, NULL, NULL);
- slider->cur_pos += slider->max_change;
- if (slider->cur_pos > slider->max_pos)
- slider->cur_pos = slider->max_pos;
- }
- /* Pressing CS2 (-) Button*/
- else if (evt.uEvent.sButton.u8Button == APP_E_BUTTONS_CY_BUTTON_CS2)
- {
- app_motor_start();
- DBG_vPrintf(TRACE_APP_CY, "[Slider][STOP] CS2 BUTTON pressed\r\n");
- // DRV_LEDS_vBlinkLed(LED_CS22, 1);
- APP_LED_vBlink(BOARD_LED_CS11_PIN, 500, 500, NULL, NULL);
- slider->cur_pos -= slider->max_change;
- if (slider->cur_pos <= slider->min_pos)
- slider->cur_pos = slider->min_pos;
- }
- else if (evt.uEvent.sButton.u8Button == APP_E_BUTTONS_BUTTON_INFO)
- {
- vSendImmediateReport(ROUTER_DIMMER_SW1_ENDPOINT);
- }
- }
- else if (evt.eType == APP_E_EVENT_SLIDER_UPDATE) {
- // added: 2019.04.20: Khong chuyen thanh sliding state vi touch dau thi cho
- // chuyen trang thai slide den do
- // TODO: Do something, change the direction slider's led & dimmer value
- if ( evt.uEvent.sSlider.u16SliderValue != 255) {
- // slider->cur_pos = CentroidJitterFilter1(evt.uEvent.sSlider.u16SliderValue);
- TRAN_SLIDER(SLIDING_STATE);
- slider->cur_pos = evt.uEvent.sSlider.u16SliderValue;
- DBG_vPrintf(TRACE_APP_CY, "[Slider][STOP] Update sliding pos: %d\r\n", evt.uEvent.sSlider.u16SliderValue);
- #if 0
- // if not button press
- if (u16Diff <= slider->min_change)
- {
- // Change state to SLIDING_STATE
- TRAN_SLIDER(SLIDING_STATE);
- // TODO: Do something, change the direction slider's led & dimmer value
- slider->cur_pos = evt.uEvent.sSlider.u16SliderValue;
- DBG_vPrintf(TRACE_APP_CY, "[Slider][STOP] Update sliding pos: %d\r\n", evt.uEvent.sSlider.u16SliderValue);
- } else {
- DBG_vPrintf(TRACE_APP_CY, "[Slider][STOP] Sliding remain STOP, diff = %d\r\n", u16Diff);
- }
- #endif
- } else {
- DBG_vPrintf(TRACE_APP_CY, "[Slider][STOP] Slider released pos: %d\r\n", evt.uEvent.sSlider.u16SliderValue);
- }
- }
- else if (evt.eType == APP_E_EVENT_SLIDER_APP_OFF)
- {
- // Change state of button from ON --> OFF
- DBG_vPrintf(TRACE_APP_CY, "[Slider][STOP] should change from ON --> OFF because APP_OFF \r\n");
- APP_Slider_TurnOnOff(slider, FALSE);
- }
- else if (evt.eType == APP_E_EVENT_SLIDER_APP_UPDATE_LEVEL)
- {
- // Change state of button from ON --> OFF
- DBG_vPrintf(TRACE_APP_CY, "[Slider][STOP] changing level of dimmer because APP_UPDATE_LEVEL\r\n");
- slider->cur_pos = evt.uEvent.sSlider.u16SliderValue;
- }
- break;
- case SLIDING_STATE:
- // if CS0/DEV1 button is down
- if (evt.eType == APP_E_EVENT_BUTTON_DOWN)
- {
- if (evt.uEvent.sButton.u8Button == APP_E_BUTTONS_CY_BUTTON_CS0 ||
- evt.uEvent.sButton.u8Button == APP_E_BUTTONS_BUTTON_HI_BUZ_N // for test only
- ) {
- DBG_vPrintf(TRACE_APP_CY, "[Slider][SLIDING] should change from ON --> OFF \r\n");
- APP_Slider_TurnOnOff(slider, FALSE);
- }
- /* For testing only*/
- else if (evt.uEvent.sButton.u8Button == APP_E_BUTTONS_CY_BUTTON_DEV1) {
- DBG_vPrintf(TRACE_APP_CY, "[Slider][SLIDING] DEV1 BUTTON pressed\r\n");
- }
- }
- else if (evt.eType == APP_E_EVENT_SLIDER_UPDATE) {
- if ( evt.uEvent.sSlider.u16SliderValue != 255) {
- // Change state to SLIDING_STATE
- TRAN_SLIDER(SLIDING_STATE);
- // TODO: Do something, change the direction slider's led & dimmer value
- slider->cur_pos = evt.uEvent.sSlider.u16SliderValue;
- // slider->cur_pos = CentroidJitterFilter1( evt.uEvent.sSlider.u16SliderValue);
- DBG_vPrintf(TRACE_APP_CY, "[Slider][SLIDING] Update sliding pos: %d\r\n", evt.uEvent.sSlider.u16SliderValue);
- } else {
- DBG_vPrintf(TRACE_APP_CY, "[Slider][SLIDING] Changing to STOP, diff = %d\r\n", u16Diff);
- TRAN_SLIDER(SLIDING_STOP_STATE);
- }
- }
- else if (evt.eType == APP_E_EVENT_SLIDER_APP_OFF)
- {
- // Change state of button from ON --> OFF
- DBG_vPrintf(TRACE_APP_CY, "[Slider][SLIDING] should change from ON --> OFF because APP_OFF \r\n");
- APP_Slider_TurnOnOff(slider, FALSE);
- }
- break;
- case SLIDING_OFF_STATE:
- // if CS0 button is down
- if (evt.eType == APP_E_EVENT_BUTTON_DOWN)
- {
- if (evt.uEvent.sButton.u8Button == APP_E_BUTTONS_CY_BUTTON_CS0
- || evt.uEvent.sButton.u8Button == APP_E_BUTTONS_BUTTON_HI_BUZ_N // for test only
- ) {
- DBG_vPrintf(TRACE_APP_CY, "[Slider][OFF] should change from OFF --> ON \r\n");
- APP_Slider_TurnOnOff(slider, TRUE);
- }
- }
- else if (evt.eType == APP_E_EVENT_SLIDER_APP_ON )
- {
- //Change state of button from ON --> OFF
- DBG_vPrintf(TRACE_APP_CY, "[Slider][OFF] should change from OFF --> ON Because APP_ON \r\n");
- APP_Slider_TurnOnOff(slider, TRUE);
- }
- break;
- default:
- DBG_vPrintf(TRACE_APP_CY, "[Slider]Nothing change, diff = %d\r\n", u16Diff);
- break;
- }
- APP_vGetDimmerPeriod(slider);
- DBG_vPrintf(TRACE_APP_CY, "Slider->cur_pos = %d, g_u16Per=%d\r\n", slider->cur_pos, g_u16Per);
- }
- /**
- * This scanning I2C port to get button status and slider's position.
- */
- PUBLIC void APP_cbTimerI2C(void *pvParam)
- {
- #define REAL_AC_PLUG TRUE // khi cam vao AC220 thi g_ZerodetectEnable moi co tac dung
- if (g_ZeroDetectEnable && REAL_AC_PLUG && g_u32ZeroDetectFalseCount++ < 5)
- {
- ZTIMER_eStop(u8TimerI2C);
- ZTIMER_eStart(u8TimerI2C, ZTIMER_TIME_MSEC(APP_CY_I2C_UPDATE_PERIOD_MS));
- return;
- }
- ZTIMER_eStop(u8TimerI2C);
- APP_SliderQuery();
- ZTIMER_eStart(u8TimerI2C, ZTIMER_TIME_MSEC(APP_CY_I2C_UPDATE_PERIOD_MS));
- //#endif
- }
- uint16 CentroidJitterFilter1(uint16 wSliderCentroid)
- {
- static uint16 wPrevSliderCentroid = 0;
- int wDiffSliderCentroid;
- //calculate the difference between the previous and present centroid positions.
- wDiffSliderCentroid = wSliderCentroid - wPrevSliderCentroid;
- //if the present Centroid position is incremented by Jitter threshold from previous then decrement the
- //centroid position by Jitter Threshold and viceversa.
- if((1 < wDiffSliderCentroid) || (1 == wDiffSliderCentroid))
- {//slider centroid position is incremented by Jitter Threshold from previous value so decrement the centroid by Jitter Threshold.
- wSliderCentroid = wSliderCentroid - 1;
- }
- else if((-1 > wDiffSliderCentroid) || (-1 == wDiffSliderCentroid))
- {//current slider position is decreased by Jitter Threshold from previous value so increment the centroid by Jitter Threshold
- wSliderCentroid = wSliderCentroid + 1;
- }
- //update the previous centroid position with current centroid position.
- wPrevSliderCentroid = wSliderCentroid;
- return wSliderCentroid;
- }
- uint16 CentroidJitterFilter(uint16 wSliderCentroid)
- {
- #define NSAMPLE 8
- static uint16 i = 0;
- int j;
- static uint16 u16Sliders[NSAMPLE] ={0};
- static uint16 u16Ret = 0;
- u16Sliders[i] = wSliderCentroid;
- // DBG_vPrintf(TRACE_APP_CY, "====> wSliderCentroid=%d\n", wSliderCentroid);
- if (wSliderCentroid == 255)
- {
- if (i == 0) {
- u16Ret = 255;
- return u16Ret;
- } else {
- u16Ret = 0;
- for (j= 0; j < i; j++)
- {
- u16Ret += u16Sliders[j];
- }
- u16Ret /= i;
- i = 0;
- return u16Ret;
- }
- }
- if (i < NSAMPLE) {
- i++;
- } else {
- u16Ret = 0;
- for (j= 0; j < i; j++)
- {
- // if (u16Sliders[i] > u16Ret)
- u16Ret += u16Sliders[j];
- }
- u16Ret /= i;
- i = 0;
- }
- // DBG_vPrintf(TRACE_APP_CY, "====> u16Ret=%d\n", u16Ret);
- return u16Ret;
- }
- PUBLIC void APP_SliderQuery(void)
- {
- #if JN5169_CY_ENABLE
- uint16_t u16CS0State = 0, u16Dev1State = 0, u16SliderState = 0, u16CS1State = 0, u16CS2State = 0;
- static uint16_t u16CS0LastState = 0, u16Dev1LastState = 0, u16SliderLastState = 0, u16CS1LastState = 0, u16CS2LastState = 0;
- // static bool bFirstTime = TRUE;
- if (!bI2CInitedOK) {
- return;
- }
- CY8CMBR3xxx_SENSORSTATUS sensorStatus;
- // CY8CMBR3xxx_SENSORDATA sensorDbgData;
- if (TRUE == CY8CMBR3xxx_ReadSensorStatus(SLAVE_ADDRESS, &sensorStatus))
- {
- // App_vPrintSensorStatus(sensorStatus);
- u16CS0State = (sensorStatus.buttonStatus>>APP_CY_BUTTON_CS0_BIT) & 0x01;
- u16CS1State = (sensorStatus.buttonStatus>>APP_CY_BUTTON_CS1_BIT) & 0x01;
- u16CS2State = (sensorStatus.buttonStatus>>APP_CY_BUTTON_CS2_BIT) & 0x01;
- u16Dev1State = (sensorStatus.buttonStatus>>APP_CY_BUTTON_DEV1_BIT) & 0x01;
- // u16SliderState = sensorStatus.slider1Position;
- u16SliderState = CentroidJitterFilter(sensorStatus.slider1Position);
- if (u16CS0State != u16CS0LastState)
- {
- app_motor_start();
- APP_tsEvent sButtonEvent;
- if (u16CS0State)
- {
- sButtonEvent.eType = APP_E_EVENT_BUTTON_DOWN;
- } else {
- sButtonEvent.eType = APP_E_EVENT_BUTTON_UP;
- }
- sButtonEvent.uEvent.sButton.u8Button = APP_E_BUTTONS_CY_BUTTON_CS0;
- DBG_vPrintf(TRACE_APP_CY, "Button CS0 DN=%d\n", APP_E_BUTTONS_CY_BUTTON_CS0);
- if(ZQ_bQueueSend(&APP_msgAppEvents, &sButtonEvent) == FALSE)
- {
- DBG_vPrintf(TRACE_APP_CY, "Button CS0: Failed to post Event %d \n", sButtonEvent.eType);
- }
- u16CS0LastState = u16CS0State;
- }
- if (u16CS1State != u16CS1LastState)
- {
- APP_tsEvent sButtonEvent;
- if (u16CS1State)
- {
- sButtonEvent.eType = APP_E_EVENT_BUTTON_DOWN;
- } else {
- sButtonEvent.eType = APP_E_EVENT_BUTTON_UP;
- }
- sButtonEvent.uEvent.sButton.u8Button = APP_E_BUTTONS_CY_BUTTON_CS1;
- DBG_vPrintf(TRACE_APP_CY, "Button CS1 DN=%d\n", APP_E_BUTTONS_CY_BUTTON_CS1);
- if(ZQ_bQueueSend(&APP_msgAppEvents, &sButtonEvent) == FALSE)
- {
- DBG_vPrintf(TRACE_APP_CY, "Button CS1: Failed to post Event %d \n", sButtonEvent.eType);
- }
- u16CS1LastState = u16CS1State;
- }
- if (u16CS2State != u16CS2LastState)
- {
- APP_tsEvent sButtonEvent;
- if (u16CS2State)
- {
- sButtonEvent.eType = APP_E_EVENT_BUTTON_DOWN;
- } else {
- sButtonEvent.eType = APP_E_EVENT_BUTTON_UP;
- }
- sButtonEvent.uEvent.sButton.u8Button = APP_E_BUTTONS_CY_BUTTON_CS2;
- DBG_vPrintf(TRACE_APP_CY, "Button CS2 DN=%d\n", APP_E_BUTTONS_CY_BUTTON_CS2);
- if(ZQ_bQueueSend(&APP_msgAppEvents, &sButtonEvent) == FALSE)
- {
- DBG_vPrintf(TRACE_APP_CY, "Button CS2: Failed to post Event %d \n", sButtonEvent.eType);
- }
- u16CS2LastState = u16CS2State;
- }
- if (u16Dev1State != u16Dev1LastState)
- {
- APP_tsEvent sButtonEvent;
- if (u16Dev1State)
- {
- sButtonEvent.eType = APP_E_EVENT_BUTTON_DOWN;
- } else {
- sButtonEvent.eType = APP_E_EVENT_BUTTON_UP;
- }
- sButtonEvent.uEvent.sButton.u8Button = APP_E_BUTTONS_CY_BUTTON_DEV1;
- DBG_vPrintf(TRACE_APP_CY, "Button DEV1 DN=%d\n", APP_E_BUTTONS_CY_BUTTON_CS0);
- if(ZQ_bQueueSend(&APP_msgAppEvents, &sButtonEvent) == FALSE)
- {
- DBG_vPrintf(TRACE_APP_CY, "Button DEV1: Failed to post Event %d \n", sButtonEvent.eType);
- }
- u16Dev1LastState = u16Dev1State;
- }
- if (u16SliderState != u16SliderLastState)
- {
- APP_tsEvent sSliderEvent;
- sSliderEvent.eType = APP_E_EVENT_SLIDER_UPDATE;
- sSliderEvent.uEvent.sSlider.u16SliderValue = u16SliderState;
- DBG_vPrintf(TRACE_APP_CY, "Slider Update VAL=%d\n", u16SliderState);
- if(ZQ_bQueueSend(&APP_msgAppEvents, &sSliderEvent) == FALSE)
- {
- DBG_vPrintf(TRACE_APP_CY, "Slider: Failed to post Event %d \n", sSliderEvent.eType);
- }
- u16SliderLastState = u16SliderState;
- }
- }
- #else
- return;
- #endif
- }
- #endif /* APP_CY_TOUCH_BUTTON_C_ */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement