Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Committer:
jmarkel44
Date:
Fri Sep 16 15:30:47 2016 +0000
Revision:
67:49f266601d83
Parent:
63:0ded43237b22
Child:
69:9e1ff95fd9c5
Child:
71:34856d21f2bf
bug fixes;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jmarkel44 0:65cfa4873284 1 /******************************************************************************
davidjhoward 15:a6ee32969e8e 2 *
jmarkel44 0:65cfa4873284 3 * File: global.h
davidjhoward 15:a6ee32969e8e 4 * Desciption: global data
jmarkel44 0:65cfa4873284 5 *
jmarkel44 0:65cfa4873284 6 *****************************************************************************/
jmarkel44 0:65cfa4873284 7 #ifndef GLOBAL_H
jmarkel44 0:65cfa4873284 8 #define GLOBAL_H
jmarkel44 0:65cfa4873284 9
jmarkel44 0:65cfa4873284 10 #include "mbed.h"
jmarkel44 0:65cfa4873284 11 #include "rtos.h"
jmarkel44 0:65cfa4873284 12 #include "ntshell.h"
davidjhoward 7:c0c03193612d 13 #include "mDot.h"
jmarkel44 0:65cfa4873284 14
jmarkel44 0:65cfa4873284 15 extern int sig_continue;
jmarkel44 3:8ea4db957749 16 extern osThreadId mainThreadId;
jmarkel44 0:65cfa4873284 17
jmarkel44 0:65cfa4873284 18 typedef enum action_tag {
jmarkel44 0:65cfa4873284 19 ACTION_CREATE,
jmarkel44 0:65cfa4873284 20 ACTION_MODIFY,
davidjhoward 31:4b1587034318 21 ACTION_DESTROY,
davidjhoward 31:4b1587034318 22 ACTION_READ_FILE,
jmarkel44 0:65cfa4873284 23 } Action_t;
jmarkel44 0:65cfa4873284 24
jmarkel44 0:65cfa4873284 25 typedef enum control_tag {
jmarkel44 0:65cfa4873284 26 CONTROL_TIMER = 0,
jmarkel44 0:65cfa4873284 27 CONTROL_PID = 1,
jmarkel44 0:65cfa4873284 28 CONTROL_SETPOINT = 2,
jmarkel44 0:65cfa4873284 29 CONTROL_COMPOSITE = 3,
jmarkel44 0:65cfa4873284 30 CONTROL_MANUAL = 4
jmarkel44 0:65cfa4873284 31 } Control_t;
jmarkel44 0:65cfa4873284 32
jmarkel44 0:65cfa4873284 33
jmarkel44 0:65cfa4873284 34 // message data type
jmarkel44 0:65cfa4873284 35 typedef struct message_tag {
jmarkel44 0:65cfa4873284 36 Action_t action;
jmarkel44 0:65cfa4873284 37 Control_t control;
davidjhoward 31:4b1587034318 38 char controlFile[64];
jmarkel44 0:65cfa4873284 39 } Message_t;
jmarkel44 0:65cfa4873284 40
jmarkel44 56:225786c56315 41 typedef enum {
jmarkel44 56:225786c56315 42 OFF = 0,
jmarkel44 56:225786c56315 43 ON = 1
jmarkel44 56:225786c56315 44 } State;
jmarkel44 56:225786c56315 45
jmarkel44 63:0ded43237b22 46 typedef enum output_action {
jmarkel44 63:0ded43237b22 47 ACTION_NEW,
jmarkel44 63:0ded43237b22 48 ACTION_CONTROL_REQ
jmarkel44 63:0ded43237b22 49 } OutputAction;
jmarkel44 63:0ded43237b22 50
jmarkel44 51:66b820f203a5 51 // output control request message
jmarkel44 51:66b820f203a5 52 typedef struct output_control_req_t {
jmarkel44 63:0ded43237b22 53 OutputAction action;
jmarkel44 63:0ded43237b22 54 char controlFile[64];
jmarkel44 63:0ded43237b22 55 string output;
jmarkel44 56:225786c56315 56 State state;
jmarkel44 51:66b820f203a5 57 unsigned int priority;
jmarkel44 63:0ded43237b22 58 } OutputControlMsg_t;
jmarkel44 51:66b820f203a5 59
davidjhoward 58:a4422d19b2ea 60 // analytics logger request message
davidjhoward 58:a4422d19b2ea 61 typedef struct analytics_logger_req_t {
davidjhoward 58:a4422d19b2ea 62 char timestamp[32];
davidjhoward 58:a4422d19b2ea 63 char log_entry[96];
davidjhoward 58:a4422d19b2ea 64 } AnalyticsLoggerReq_t;
davidjhoward 58:a4422d19b2ea 65
jmarkel44 0:65cfa4873284 66 extern Mail<Message_t, 16> MailBox;
davidjhoward 31:4b1587034318 67 extern Mail<Message_t, 16> ModbusMasterMailBox;
jmarkel44 63:0ded43237b22 68 extern Mail<OutputControlMsg_t, 16> OutputMasterMailBox;
davidjhoward 58:a4422d19b2ea 69 extern Mail<AnalyticsLoggerReq_t, 16> AnalyticsLoggerMailBox;
jmarkel44 0:65cfa4873284 70
jmarkel44 0:65cfa4873284 71 extern ntshell_t ntshell;
jmarkel44 0:65cfa4873284 72
jmarkel44 0:65cfa4873284 73 extern int func_read(char *buf, int cnt);
jmarkel44 0:65cfa4873284 74 extern int func_write(const char *buf, int cnt);
jmarkel44 0:65cfa4873284 75 extern int func_cb_ntshell(const char *text);
jmarkel44 0:65cfa4873284 76 extern void func_cb_ntopt(int argc, char **argv);
davidjhoward 7:c0c03193612d 77 extern mDot *GLOBAL_mdot;
jmarkel44 0:65cfa4873284 78
davidjhoward 9:ef0ca2f8a8a6 79 struct ModbusRegister {
davidjhoward 9:ef0ca2f8a8a6 80 std::string name;
davidjhoward 9:ef0ca2f8a8a6 81 std::string units;
davidjhoward 9:ef0ca2f8a8a6 82 double min;
davidjhoward 9:ef0ca2f8a8a6 83 double max;
davidjhoward 9:ef0ca2f8a8a6 84 int node;
davidjhoward 9:ef0ca2f8a8a6 85 int reg;
davidjhoward 9:ef0ca2f8a8a6 86 int rtype;
davidjhoward 9:ef0ca2f8a8a6 87 int type;
davidjhoward 15:a6ee32969e8e 88 int size;
davidjhoward 15:a6ee32969e8e 89 int order;
davidjhoward 49:0456ee2271be 90 int rfreq;
davidjhoward 9:ef0ca2f8a8a6 91 std::string fmt;
davidjhoward 15:a6ee32969e8e 92 float float_value;
davidjhoward 15:a6ee32969e8e 93 uint32_t uint32_value;
davidjhoward 15:a6ee32969e8e 94 uint16_t uint16_value;
davidjhoward 9:ef0ca2f8a8a6 95 };
davidjhoward 9:ef0ca2f8a8a6 96
davidjhoward 15:a6ee32969e8e 97 typedef enum byte_order {
davidjhoward 15:a6ee32969e8e 98 BigEndian = 0,
davidjhoward 15:a6ee32969e8e 99 LittleEndian = 1,
davidjhoward 15:a6ee32969e8e 100 BigEndianReverseWord = 2,
davidjhoward 15:a6ee32969e8e 101 LittleEndianReversWord = 3,
davidjhoward 15:a6ee32969e8e 102 } Byte_Order;
davidjhoward 9:ef0ca2f8a8a6 103
davidjhoward 15:a6ee32969e8e 104 extern std::map<std::string,ModbusRegister> ModbusRegisterMap;
davidjhoward 15:a6ee32969e8e 105
davidjhoward 58:a4422d19b2ea 106 extern I2C* i2c;
davidjhoward 58:a4422d19b2ea 107
jmarkel44 34:f345fdec711d 108 extern Thread *GLOBAL_analyticsLogger_thread;
jmarkel44 34:f345fdec711d 109 extern Thread *GLOBAL_modbusMaster_thread;
jmarkel44 34:f345fdec711d 110 extern Thread *GLOBAL_BLE_thread;
jmarkel44 34:f345fdec711d 111 extern Thread *GLOBAL_CDH_thread;
jmarkel44 34:f345fdec711d 112 extern Thread *GLOBAL_configHandler_thread;
jmarkel44 34:f345fdec711d 113 extern Thread *GLOBAL_controlTask_thread;
jmarkel44 48:1c7861d80d16 114 extern Thread *GLOBAL_outputTask_thread;
jmarkel44 34:f345fdec711d 115
davidjhoward 15:a6ee32969e8e 116 #endif