diff src/cs/drivers/drv_app/kpd/kpd_messages_i.h @ 0:4e78acac3d88

src/{condat,cs,gpf,nucleus}: import from Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:23:26 +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 Oct 16 06:23:26 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_ */