JLC test

Dependencies:   PinDetect libmDot mbed-rtos mbed

Revision:
1:96c429800568
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common.h	Wed Jan 27 00:57:12 2016 +0000
@@ -0,0 +1,151 @@
+/* ========================================
+ * Filename: common.h
+ *
+ * Description: common defintions and structures
+ *
+ * Copyright J-Factor Embedded Technologies 2015
+ * Copyright TJM Embedded Software 2015
+ * All Rights Reserved
+ * UNPUBLISHED, LICENSED SOFTWARE.
+ *
+ * CONFIDENTIAL AND PROPRIETARY INFORMATION
+ * WHICH IS THE PROPERTY OF J-Factor Embedded Technologies.
+ *
+ * ========================================
+*/
+/** \file
+ * \brief contains constants and prototypes needed by other files.
+ */
+#ifndef COMMON_H
+#define COMMON_H
+ 
+#include <time.h>
+#include "mbed.h"
+ 
+/* Project Defines */
+#define FALSE  0
+#define TRUE   1
+#define TRANSMIT_BUFFER_SIZE  80    //!< maximum number of characters to write to console
+#define LINE_SIZE  80               //!< maximum number of characters to read from console
+#define NUM_LINES 10                //!< number of command lines to save       
+
+/* version history */
+/*
+Version Author  Date        Description
+0.1     TJM     01/24/15    Initial Draft
+0.2     TJM     01/24/166   first with CLI interface
+*/
+ 
+#define VERSION_MAJOR 0
+#define VERSION_MINOR 2
+#define VERSION_DATE "01/26/16"
+
+typedef unsigned char uint8;
+typedef signed char int8;
+typedef unsigned short uint16;
+typedef signed short int16;
+typedef unsigned long uint32;
+typedef signed long int32;
+typedef unsigned int uint;
+  
+/* parameter type */
+#define BINARY  0
+#define DIGITAL 1
+#define REGISTER 2
+#define ANALOG  3
+
+/* command defintions */
+#define HELP        0
+#define VERSION     1
+#define READ        2
+#define READ_REG    3
+#define WRITE       4
+#define WRITE_REG   5
+#define INFO        6
+#define FIND        7
+#define RUN         8
+#define STOP        9
+#define DATE        10
+#define HVSTATE     11
+
+/* mode */
+#define READONLY    0
+#define WRITEONLY   1
+#define READWRITE   2
+
+#define MAX_REGISTER_DATA 128
+
+/* parameter names */
+enum 
+{
+     spi,
+     i2c,
+} ;    
+     
+typedef   uint8 (*Read)(void);                                          //!< read function template to return 8 bit unsigned int
+typedef   uint16 (*ReadRegLength)(uint16 regAddress, uint8 *regData, uint16 length);  //!< read function template to return 8 bit unsigned int
+typedef   void (*Write8)(uint8 value);      //!< write function template to write 8 bit unsigned value
+typedef   void (*WriteReg8)(uint16 regAddress, uint8 *regData);      //!< write function template to write 8 bit unsigned value
+typedef   void (*Write16)(uint16 value);    //!< write function template to write 16 bit unsigned value
+typedef   void (*WriteAnalog)(float fltValue);    //!< write function template to write analog value
+
+/* paramater structure */
+struct parameterInfo                        //!< paramter information structure
+{
+    char *name;                             //!< paramter name
+    char *port;                             //!< port location (if applicable) on device
+    char *connector;                        //!< connector location (if applicable) on board
+    char *description;                      //!< brief parameter function and use
+    uint8 type;                             //!< binary, digital, or analog
+    char *uints;                            //!< parameter units (if applicable)
+    uint8 mode;                             //!< read only, write only, read write
+    uint16 initialInt;                      //!< initial value if binary or digital
+    uint16 minInt;                          //!< minimum value if binary or digital
+    uint16 maxInt;                          //!< maximum value if binary or digital
+    float initialFloat;                     //!< initial value if analog
+    float minFloat;                         //!< minimum value if analog
+    float maxFloat;                         //!< maximum value if analog
+    Read ptrRead;                           //!< read function needed for this parameter  (null if not needed)
+    ReadRegLength ptrReadRegLength;         //!< read function needed for this parameter  (null if not needed)
+    Write8 ptrWrite8;                       //!< 8 bit write function needed for this paramater (null if not needed) 
+    WriteReg8 ptrWriteReg8;                 //!< 8 bit write function needed for this paramater (null if not needed) 
+    Write16 ptrWrite16;                     //!< 16 bit write function needed for this paramater (null if not needed) 
+    WriteAnalog ptrWriteAnalog;             //!< analog write function needed for this paramater (null if not needed) 
+};
+
+
+/* function prototypes */
+void printVersion();
+uint8 getLine(); 
+void executeCmd();
+int8 getCmd();
+void setDate(char *str);
+void date(void);
+int8 getParameter(char *param);
+int8 findParameter(char *string);
+uint8 readParam(uint8 paramNum);
+void writeParam(uint8 paramNum,uint8 *value);
+float strtofloat (char *str);
+uint16 power(uint8 num, uint8 pow);
+void displayParameter(uint8 num);
+uint8 tolower(uint8 c);
+uint16 readSPIReg(uint16 regAddress, uint8 *regData, uint16 length);
+void writeSPIReg(uint16 regAddress, uint8 *regData);
+void SPIRead(uint16 addr, uint8 *data, int length);
+void SPIWrite(uint16 addr, uint8 *data, int length);
+uint16 readI2CReg(uint16 regAddress, uint8 *regData, uint16 length);
+void writeI2CReg(uint16 regAddress, uint8 *regData);
+void I2CRead(uint16 addr, uint8 *data, int length);
+void I2CWrite(uint16 addr, uint8 *data, int length);
+
+/* externals */
+extern Serial pc;
+extern char* c_time_string;
+extern char time_string[];
+extern char TransmitBuffer[TRANSMIT_BUFFER_SIZE];
+extern time_t epoch;
+extern struct parameterInfo parameters[];
+extern uint16 bytesRead;
+
+#endif
+/* [] END OF FILE */