FreeCalypso > hg > fc-tourmaline
comparison src/cs/drivers/drv_app/r2d/r2d_task.c @ 217:6541e43f88e5
R2D display on/off control implemented
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Sat, 24 Apr 2021 23:38:18 +0000 |
| parents | 777698cf6583 |
| children | 4221c724c664 |
comparison
equal
deleted
inserted
replaced
| 216:777698cf6583 | 217:6541e43f88e5 |
|---|---|
| 1 /** | 1 /** |
| 2 | 2 |
| 3 @file: r2d_task.c | 3 @file: r2d_task.c |
| 4 | 4 |
| 5 @author Christophe Favergeon | 5 @author Christophe Favergeon |
| 6 | 6 |
| 7 @version 0.5 | 7 @version 0.5 |
| 8 | 8 |
| 9 Purpose: Refresh task for R2D. It is calling the LCD dependent refresh subroutine | 9 Purpose: Refresh task for R2D. It is calling the LCD dependent refresh subroutine |
| 10 | 10 |
| 11 */ | 11 */ |
| 12 | 12 |
| 13 /* | 13 /* |
| 14 | 14 |
| 15 Date Modification | 15 Date Modification |
| 16 ------------------------------------ | 16 ------------------------------------ |
| 17 06/02/2001 Create | 17 06/02/2001 Create |
| 18 10/18/2001 Version 0.5 for first integration with Riviera database | 18 10/18/2001 Version 0.5 for first integration with Riviera database |
| 19 | 19 |
| 20 | 20 |
| 21 (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved | 21 (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved |
| 22 */ | 22 */ |
| 23 | |
| 24 | |
| 25 | 23 |
| 26 | 24 |
| 27 #include "rv/general.h" | 25 #include "rv/general.h" |
| 28 #include "rvf/rvf_api.h" | 26 #include "rvf/rvf_api.h" |
| 29 #include "rvm/rvm_api.h" | 27 #include "rvm/rvm_api.h" |
| 36 | 34 |
| 37 extern void r2d_refresh(void); | 35 extern void r2d_refresh(void); |
| 38 | 36 |
| 39 extern INT16 r2d_g_refresh_disabled; | 37 extern INT16 r2d_g_refresh_disabled; |
| 40 | 38 |
| 39 extern void r2d_process_onoff_message(T_R2D_EVT *msg); | |
| 40 | |
| 41 /* FreeCalypso addition */ | 41 /* FreeCalypso addition */ |
| 42 int r2d_is_running; | 42 int r2d_is_running; |
| 43 | 43 |
| 44 /******************************************************************************* | 44 /******************************************************************************* |
| 45 ** Function r2d_core | 45 ** Function r2d_core |
| 48 ** | 48 ** |
| 49 *******************************************************************************/ | 49 *******************************************************************************/ |
| 50 T_RVM_RETURN r2d_core(void) | 50 T_RVM_RETURN r2d_core(void) |
| 51 { | 51 { |
| 52 BOOLEAN error_occured = FALSE; | 52 BOOLEAN error_occured = FALSE; |
| 53 // T_R2D_EVT * msg_ptr_rx, * msg_ptr_tx; | 53 T_R2D_EVT *msg; |
| 54 | 54 |
| 55 //r2d_start(); | 55 //r2d_start(); |
| 56 | 56 |
| 57 rvf_send_trace("R2D REFRESH TASK STARTED", 24, NULL_PARAM, | 57 rvf_send_trace("R2D REFRESH TASK STARTED", 24, NULL_PARAM, |
| 58 RV_TRACE_LEVEL_DEBUG_HIGH, R2D_USE_ID); | 58 RV_TRACE_LEVEL_DEBUG_HIGH, R2D_USE_ID); |
| 68 { | 68 { |
| 69 UINT16 received_event; | 69 UINT16 received_event; |
| 70 //rvf_send_trace("WAIT EVENT",strlen("WAIT EVENT"), NULL_PARAM, | 70 //rvf_send_trace("WAIT EVENT",strlen("WAIT EVENT"), NULL_PARAM, |
| 71 // RV_TRACE_LEVEL_DEBUG_HIGH, TRACE_XXX ); | 71 // RV_TRACE_LEVEL_DEBUG_HIGH, TRACE_XXX ); |
| 72 /* Wait for the necessary events (infinite wait for a msg in the mailbox 0). */ | 72 /* Wait for the necessary events (infinite wait for a msg in the mailbox 0). */ |
| 73 received_event = rvf_wait ( EVENT_MASK(RVF_APPL_EVT_0), 0); | 73 received_event = rvf_wait(EVENT_MASK(RVF_APPL_EVT_0) | |
| 74 RVF_TASK_MBOX_0_EVT_MASK, 0); | |
| 74 | 75 |
| 75 //rvf_send_trace("EVENT RECEIVED",strlen("EVENT RECEIVED"), NULL_PARAM, | 76 //rvf_send_trace("EVENT RECEIVED",strlen("EVENT RECEIVED"), NULL_PARAM, |
| 76 // RV_TRACE_LEVEL_DEBUG_HIGH, TRACE_XXX ); | 77 // RV_TRACE_LEVEL_DEBUG_HIGH, TRACE_XXX ); |
| 77 | 78 |
| 78 /* If an event related to mailbox 0 is received, then */ | 79 /* Check for mailbox events */ |
| 79 if (received_event & EVENT_MASK(RVF_APPL_EVT_0) ) | 80 if (received_event & RVF_TASK_MBOX_0_EVT_MASK) |
| 81 { | |
| 82 /* Read the message in the driver mailbox and delegate action..*/ | |
| 83 msg = (T_R2D_EVT *) rvf_read_mbox(RVF_TASK_MBOX_0); | |
| 84 if (msg) { | |
| 85 if (msg->os_hdr.msg_id == R2D_MESSAGE_ONOFF) | |
| 86 r2d_process_onoff_message(msg); | |
| 87 rvf_free_buf ((void *) msg); | |
| 88 } | |
| 89 } | |
| 90 /* Check for refresh trigger events */ | |
| 91 if (received_event & EVENT_MASK(RVF_APPL_EVT_0)) | |
| 80 { | 92 { |
| 81 //rvf_send_trace("GOOD EVENT",strlen("GOOD EVENT"), NULL_PARAM, | 93 //rvf_send_trace("GOOD EVENT",strlen("GOOD EVENT"), NULL_PARAM, |
| 82 // RV_TRACE_LEVEL_DEBUG_HIGH, TRACE_XXX ); | 94 // RV_TRACE_LEVEL_DEBUG_HIGH, TRACE_XXX ); |
| 83 | 95 |
| 84 r2d_g_event_was_sent=FALSE; | 96 r2d_g_event_was_sent=FALSE; |
| 85 if (r2d_g_refresh_disabled==0) | 97 if (r2d_g_refresh_disabled==0) |
| 86 r2d_refresh(); | 98 r2d_refresh(); |
| 87 rvf_delay(RVF_MS_TO_TICKS(R2D_REFRESH_PERIOD)); | 99 rvf_delay(RVF_MS_TO_TICKS(R2D_REFRESH_PERIOD)); |
| 88 } | 100 } |
| 89 | |
| 90 } | 101 } |
| 91 | 102 |
| 92 return RVM_OK; | 103 return RVM_OK; |
| 93 } | 104 } |
