Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed
Fork of ICE by
inc/global.h
- Committer:
- davidjhoward
- Date:
- 2016-09-16
- Revision:
- 69:9e1ff95fd9c5
- Parent:
- 67:49f266601d83
- Parent:
- 68:dbe39d83eb98
- Child:
- 73:3750cc5251e9
File content as of revision 69:9e1ff95fd9c5:
/****************************************************************************** * * File: global.h * Desciption: global data * *****************************************************************************/ #ifndef GLOBAL_H #define GLOBAL_H #include "mbed.h" #include "rtos.h" #include "ntshell.h" #include "mDot.h" extern int sig_continue; extern osThreadId mainThreadId; typedef enum action_tag { ACTION_CREATE, ACTION_MODIFY, ACTION_DESTROY, ACTION_READ_FILE, } Action_t; typedef enum control_tag { CONTROL_TIMER = 0, CONTROL_PID = 1, CONTROL_SETPOINT = 2, CONTROL_COMPOSITE = 3, CONTROL_MANUAL = 4 } Control_t; // message data type typedef struct message_tag { Action_t action; Control_t control; char controlFile[64]; } Message_t; typedef enum { OFF = 0, ON = 1 } State; typedef enum output_action { ACTION_NEW, ACTION_CONTROL_REQ } OutputAction; // output control request message typedef struct output_control_req_t { OutputAction action; char controlFile[64]; string output; State state; unsigned int priority; } OutputControlMsg_t; // analytics logger request message typedef struct analytics_logger_req_t { char timestamp[32]; char log_entry[96]; } AnalyticsLoggerReq_t; // analytics logger request message typedef struct cloud_data_hadler_req_t { char packet[96]; } CloudDataHandlerReq_t; extern Mail<Message_t, 16> MailBox; extern Mail<Message_t, 16> ModbusMasterMailBox; extern Mail<OutputControlMsg_t, 16> OutputMasterMailBox; extern Mail<AnalyticsLoggerReq_t, 16> AnalyticsLoggerMailBox; extern Mail<CloudDataHandlerReq_t, 16> CloudDataHandlerMailBox; extern ntshell_t ntshell; extern int func_read(char *buf, int cnt); extern int func_write(const char *buf, int cnt); extern int func_cb_ntshell(const char *text); extern void func_cb_ntopt(int argc, char **argv); extern mDot *GLOBAL_mdot; struct ModbusRegister { std::string name; std::string units; double min; double max; int node; int reg; int rtype; int type; int size; int order; int rfreq; std::string fmt; float float_value; uint32_t uint32_value; uint16_t uint16_value; }; typedef enum byte_order { BigEndian = 0, LittleEndian = 1, BigEndianReverseWord = 2, LittleEndianReversWord = 3, } Byte_Order; extern std::map<std::string,ModbusRegister> ModbusRegisterMap; extern I2C* i2c; extern Thread *GLOBAL_analyticsLogger_thread; extern Thread *GLOBAL_modbusMaster_thread; extern Thread *GLOBAL_BLE_thread; extern Thread *GLOBAL_CDH_thread; extern Thread *GLOBAL_configHandler_thread; extern Thread *GLOBAL_controlTask_thread; extern Thread *GLOBAL_outputTask_thread; #endif