FreeCalypso > hg > ffs-editor
diff src/cs/drivers/drv_app/kpd/kpd_messages_i.h @ 0:92470e5d0b9e
src: partial import from FC Selenite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 15 May 2020 01:28:16 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cs/drivers/drv_app/kpd/kpd_messages_i.h Fri May 15 01:28:16 2020 +0000 @@ -0,0 +1,235 @@ +/** + * @file kpd_messages_i.h + * + * Data structures that KPD SWE can receive. + * + * These messages are send by the bridge function. There are not available + * out of the SWE. + * + * @author Laurent Sollier (l-sollier@ti.com) + * @version 0.1 + */ + +/* + * History: + * + * Date Author Modification + * ---------------------------------------- + * 10/10/2001 L Sollier Create + * + * + * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved + */ + +#ifndef _KPD_MESSAGES_I_H_ +#define _KPD_MESSAGES_I_H_ + +#include "kpd/kpd_api.h" +#include "kpd/kpd_i.h" +#include "kpd/kpd_messages_i.h" + +#include "rv/rv_general.h" + + +/* Strusture used to send a subscription request */ +typedef struct +{ + T_SUBSCRIBER_ID subscriber_id; + T_KPD_MODE mode; + T_KPD_VIRTUAL_KEY_TABLE notified_keys; + T_RV_RETURN return_path; + +} T_SUBSCRIPTION_INFO; + + +/** + * @name KPD_SUBSCRIBE_MSG + * + * Internal message. + * + * Message issued by KPD to KPD task. + * This message is used to process a subscription. + */ +/*@{*/ +/** Message ID. */ +#define KPD_SUBSCRIBE_MSG (KPD_MESSAGES_OFFSET | 0x003) + +/** Message structure. */ +typedef struct +{ + /** Message header. */ + T_RV_HDR hdr; + + /** Informations for subscription. */ + T_SUBSCRIPTION_INFO subscription_info; + +} T_KPD_SUBSCRIBE_MSG; +/*@}*/ + +/** + * @name KPD_UNSUBSCRIBE_MSG + * + * Internal message. + * + * Message issued by KPD to KPD task. + * This message is used to process an unsubscription. + */ +/*@{*/ +/** Message ID. */ +#define KPD_UNSUBSCRIBE_MSG (KPD_MESSAGES_OFFSET | 0x004) + +/** Message structure. */ +typedef struct +{ + /** Message header. */ + T_RV_HDR hdr; + + /** Subscriber Id. */ + T_SUBSCRIBER_ID subscriber_id; + +} T_KPD_UNSUBSCRIBE_MSG; +/*@}*/ + +/** + * @name KPD_NOTIF_KEYS_MSG + * + * Internal message. + * + * Message issued by KPD to KPD task. + * This message is used to store a notification key level . + */ +/*@{*/ +/** Message ID. */ +#define KPD_NOTIF_KEYS_MSG (KPD_MESSAGES_OFFSET | 0x005) + +/** Message structure. */ +typedef struct +{ + /** Message header. */ + T_RV_HDR hdr; + + /* Keys informations */ + T_SUBSCRIBER_ID subscriber_id; + T_KPD_VIRTUAL_KEY_TABLE notif_key_table; + T_KPD_NOTIF_LEVEL notif_level; + UINT16 long_press_time; + UINT16 repeat_time; + +} T_KPD_NOTIF_KEYS_MSG; +/*@}*/ + +/** + * @name KPD_CHANGE_MODE_MSG + * + * Internal message. + * + * Message issued by KPD to KPD task. + * This message is used to change the mode for a subscriber. + */ +/*@{*/ +/** Message ID. */ +#define KPD_CHANGE_MODE_MSG (KPD_MESSAGES_OFFSET | 0x006) + +/** Message structure. */ +typedef struct +{ + /** Message header. */ + T_RV_HDR hdr; + + /* Change mode informations */ + T_SUBSCRIBER_ID subscriber_id; + T_KPD_VIRTUAL_KEY_TABLE notified_keys; + T_KPD_MODE new_mode; + +} T_KPD_CHANGE_MODE_MSG; +/*@}*/ + +/** + * @name KPD_OWN_KEYPAD_MSG + * + * Internal message. + * + * Message issued by KPD to KPD task. + * This message is used to define the subscriber as the owner of the keypad. + */ +/*@{*/ +/** Message ID. */ +#define KPD_OWN_KEYPAD_MSG (KPD_MESSAGES_OFFSET | 0x007) + +/** Message structure. */ +typedef struct +{ + /** Message header. */ + T_RV_HDR hdr; + + /* Own keypad informations */ + T_SUBSCRIBER_ID subscriber_id; + BOOL is_keypad_owner; + T_KPD_VIRTUAL_KEY_TABLE keys_owner; + +} T_KPD_OWN_KEYPAD_MSG; + + +/*@}*/ + +/** + * @name KPD_SET_CONFIG_MODE_MSG + * + * Internal message. + * + * Message issued by KPD to KPD task. + * This message is used to define the configurable mode with a set of keys. + */ +/*@{*/ +/** Message ID. */ +#define KPD_SET_CONFIG_MODE_MSG (KPD_MESSAGES_OFFSET | 0x008) + +/** Message structure. */ +typedef struct +{ + /** Message header. */ + T_RV_HDR hdr; + + /* New config mode informations */ + T_SUBSCRIBER_ID subscriber_id; + T_KPD_VIRTUAL_KEY_TABLE reference_keys; + T_KPD_VIRTUAL_KEY_TABLE new_keys; + +} T_KPD_SET_CONFIG_MODE_MSG; +/*@}*/ + +/** + * @name T_KPD_KEY_PRESSED_MSG + * + * Internal message. + * + * Message issued by HISR to KPD task. + * This message is used by the Keypad HISR to inform the keypad task + * that a key is pressed. + */ +/*@{*/ +/** Message ID. */ +#define KPD_KEY_PRESSED_MSG (KPD_MESSAGES_OFFSET | 0x009) + +/** Message structure. */ +typedef struct +{ + /** Message header. */ + T_RV_HDR hdr; + + /* Physical key pressed Id, or KPD_PKEY_NULL if key is released. + Note that this variable is used only for PC Riviera Tool, but is + not in flag compilation for forward compatibility (Calypso+, IT + when key is pressed and released) */ + T_KPD_PHYSICAL_KEY_ID value; + + /* Define if key must be processd or not. + This field is used in order to limit memory use, + and allow keypad task to send messages to subscribers */ + BOOL key_to_process; + +} T_KPD_KEY_PRESSED_MSG; +/*@}*/ + + +#endif /* _KPD_MESSAGES_I_H_ */