95 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			95 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /****************************************************************************
 | ||
|  | 
 | ||
|  | Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED. | ||
|  | 
 | ||
|  | This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT | ||
|  | be copied by any method or incorporated into another program without | ||
|  | the express written consent of Aerospace C.Power. This Information or any portion | ||
|  | thereof remains the property of Aerospace C.Power. The Information contained herein | ||
|  | is believed to be accurate and Aerospace C.Power assumes no responsibility or | ||
|  | liability for its use in any way and conveys no license or title under | ||
|  | any patent or copyright and makes no representation or warranty that this | ||
|  | Information is free from patent or copyright infringement. | ||
|  | 
 | ||
|  | ****************************************************************************/ | ||
|  | #ifndef IOT_BRM_MSG_H
 | ||
|  | #define IOT_BRM_MSG_H
 | ||
|  | 
 | ||
|  | /* os shim includes */ | ||
|  | #include "os_types_api.h"
 | ||
|  | 
 | ||
|  | /* common includes */ | ||
|  | #include "iot_task_api.h"
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | /* define the sg message queue count and priorities, the higer the priority
 | ||
|  |  * the lower the queue number. | ||
|  |  */ | ||
|  | #define IOT_BRM_MSG_QUEUE_HP            0
 | ||
|  | #define IOT_BRM_MSG_QUEUE_LP            1
 | ||
|  | #define IOT_BRM_MSG_QUEUE_MAX_PRIO      2
 | ||
|  | 
 | ||
|  | /* message type definition */ | ||
|  | #define IOT_BRM_MSG_TYPE_SG_APP         1   /* messages from sg app */
 | ||
|  | #define IOT_BRM_MSG_TYPE_PLC            2   /* messages from PLC */
 | ||
|  | #define IOT_BRM_MSG_TYPE_UART           3   /* messages from ir interface */
 | ||
|  | #define IOT_BRM_MSG_TYPE_TIMER          4   /* messages from timer */
 | ||
|  | #define IOT_BRM_MSG_TYPE_GPS            5   /* messages from gps data */
 | ||
|  | #define IOT_BRM_MSG_TYPE_INTERNAL       6   /* messages from brm internal */
 | ||
|  | #define IOT_BRM_MSG_TYPE_BRK            7   /* messages from breaker data */
 | ||
|  | 
 | ||
|  | /* breaker message id definition */ | ||
|  | /* breaker message id brk rsp data */ | ||
|  | #define IOT_BRM_MSG_ID_BRK_DATA         1
 | ||
|  | /* breaker message id brk timer msg id */ | ||
|  | #define IOT_BRM_MSG_ID_BRK_TIMER        2
 | ||
|  | /* breaker message id brk check event interrupt timer msg id */ | ||
|  | #define IOT_BRM_MSG_ID_BRK_EVENT        3
 | ||
|  | 
 | ||
|  | /* SG_APP type message id definition */ | ||
|  | #define IOT_BRM_MSG_ID_SG_APP           1   /* messages from SG APP */
 | ||
|  | 
 | ||
|  | /* UART type message id definition */ | ||
|  | #define IOT_BRM_MSG_ID_RS485_DATA       1   /* data delivered from IR */
 | ||
|  | #define IOT_BRM_MSG_ID_MF_RS485_DATA    2   /* data delivered from mf rs485 */
 | ||
|  | 
 | ||
|  | /* PLC type message id definition */ | ||
|  | #define IOT_BRM_MSG_ID_PLC_MSG          1   /* message delivered from PLC */
 | ||
|  | 
 | ||
|  | /* TIMER type message id definition */ | ||
|  | #define IOT_BRM_MSG_ID_TIMER_PERIOD     1 /* period timer */
 | ||
|  | /* timer node list updated to nv storage */ | ||
|  | #define IOT_BRM_MSG_ID_TIMER_NODE_LIST  2
 | ||
|  | #define IOT_BRM_MSG_ID_TIMER_RS485      3
 | ||
|  | #define IOT_BRM_MSG_ID_TIMER_ASS_CHK    4
 | ||
|  | 
 | ||
|  | /* gps message id definition */ | ||
|  | #define IOT_BRM_MSG_ID_GPS_INFO         1   /* messages from gps driver */
 | ||
|  | 
 | ||
|  | /* intenal type message id definition */ | ||
|  | #define IOT_BRM_MSG_ID_INTERNAL_PD      1   /* power down */
 | ||
|  | #define IOT_BRM_MSG_ID_INTERNAL_HW_TSFM 2   /* tsfm and branch ident recv*/
 | ||
|  | #define IOT_BRM_MSG_ID_INTERNAL_EM      3   /* em module */
 | ||
|  | #define IOT_BRM_MSG_ID_INTERNAL_HW_TSFM_INFO 4 /* recv hw_tsfm info */
 | ||
|  | #define IOT_BRM_MSG_ID_INTERNAL_HW_TOPO_INFO 5 /* recv branch topo info */
 | ||
|  | 
 | ||
|  | /* sg message */ | ||
|  | typedef struct _iot_brm_msg { | ||
|  |     /* iot task message */ | ||
|  |     iot_task_msg_t  task_msg; | ||
|  |     /* pointer to message data */ | ||
|  |     void            *data; | ||
|  |     /* another data field */ | ||
|  |     uint32_t        data2; | ||
|  | } iot_brm_msg_t; | ||
|  | 
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif  /* IOT_BRM_MSG_H */
 |