123

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
161:efd949e8d536
Parent:
156:e68ee0bcdcda
Child:
166:c3c0b8a90d81
--- a/Device.h	Fri May 13 14:04:22 2016 +0000
+++ b/Device.h	Sun May 15 19:12:12 2016 +0000
@@ -9,16 +9,12 @@
 #include "LPC17xx.h"
 #include "system_LPC17xx.h"
 #include "DeviceController.h"
-#include "DeviceSettings.h"
 #include "DeviceDAC.h"
-#include "DeviceProtocol.h"
-//#include "DeviceTimers.h"
-//#include "DeviceServicePort.h"
-//#include "DeviceHostPort.h"
+#include "DeviceUserProtocol.h"
 #include "DeviceCounters.h"
+#include "DeviceDither.h"
 #include "DeviceLightUp.h"
-#include "DevicePhotoDetector.h"
-#include "DeviceDither.h"
+#include "DeviceISACS.h"
 #include "DevicePLCS.h"
 
 typedef enum _DeviceLatchMode {
@@ -43,83 +39,73 @@
 
 typedef enum _DeviceCountingSource {
   DeviceCountingSourceReference, //Accumulate pulses using reference +/- counters as source
-  DeviceCountingSourceDither,     //Accumulate pulses using dither counters as source
+  DeviceCountingSourceDither,    //Accumulate pulses using dither counters as source
 } DeviceCountingSource;
 
-typedef struct _DeviceHFOState {
-  uint8_t loop; //Output signal amplitude loop switch: 1 - on/0 - off
-} DeviceHFOState;
-
-typedef struct _DeviceReceiverState {
-} DeviceReceiverState;
-
-typedef struct _DeviceTransmitterState {
- uint8_t position;  //Output buffer transmission position
-} DeviceTransmitterState;
-
-typedef struct _Host {
-  DeviceReceiverState receiver;
-  DeviceTransmitterState transmitter;
-  DeviceProtocolDecoder decoder;
-  DeviceProtocolEncoder encoder;
-  DeviceRequest request;
-  DeviceResponse response;
-} Host;
-
+//Device service communication typedefs
 typedef struct _Service {
   char buffer[512];
-  DeviceReceiverState receiver;
-  DeviceTransmitterState transmitter;
+  uint16_t position; //Transmission position
 } Service;
 
+//Device measurement cycle typedefs
 typedef struct _DeviceMeasurementCycle {
   uint32_t length;  //Measurement cycle length
   uint32_t counter; //Measurement cycle counter
 } DeviceMeasurementCycle;
 
+//Device regular cycle typedefs
 typedef struct _DeviceRegularCycle {
-  uint32_t event1Hz;
-  uint32_t event500Hz;
-  uint32_t event1K;
-  uint32_t event10K;
-  uint32_t event100K;
+  volatile uint32_t event1Hz;
+  volatile uint32_t event500Hz;
+  volatile uint32_t event1K;
+  volatile uint32_t event10K;
+  volatile uint32_t event100K;
 
-  uint32_t time100K;
-  uint32_t time10K;
-  uint32_t time1K;
-  uint32_t time500Hz;
-  uint32_t time1Hz;
+  volatile uint32_t time100K;
+  volatile uint32_t time10K;
+  volatile uint32_t time1K;
+  volatile uint32_t time500Hz;
+  volatile uint32_t time1Hz;
 } DeviceRegularCycle;
 
-typedef struct _DeviceDitherRegulator {
-  uint8_t oscillationFrequencyLoop;
-  uint8_t outputFrequencyLoop;
-} DeviceDitherRegulator;
+//Device sensor typedefs
+typedef struct _DeviceSensorSettings {
+  //Device ID
+  uint16_t id;
+  //Block ID
+  uint16_t block;
+} DeviceSensorSettings;
 
+typedef struct _DeviceSensorState {
+} DeviceSensorState;
+
+typedef struct _DeviceSensor {
+  DeviceSensorSettings settings;
+  DeviceSensorState state;
+} DeviceSensor;
+
+//Device typedefs
 typedef struct _Device {
-  //Settings
-  DeviceSettings settings;
   //Measurement cycle
   DeviceMeasurementCycle measurement;
   //Control cycle
   DeviceRegularCycle regular;
-  //Controller
-  DeviceController controller;
-  //Peripherals
-  Host host;       //Host communication asynchronous serial port
-  Service service; //Service communication asynchronous serial port
-  DeviceDAC dac;   //DAC of hfo & plcs
   //Counting
   DeviceLatchState latch;
   DeviceCounters counters;
+  //Controller
+  DeviceController controller;
+  //Protocols
+  Service service; //Service communication protocol - asynchronous serial port 0
+  DeviceUserProtocol user;       //Host communication protocol - asynchronous serial port 1
   //Units
-  DevicePhotoDetector detector;
+  DeviceSensor sensor;
   DeviceLightUp lightUp;
   DeviceDither dither;
-  DevicePathLengthControlSystem plcs;
-  //Regulators
-  DeviceHFOState hfo;
-  DeviceDitherRegulator ditherRegulator;
+  DeviceDAC dac;   //2-channel DAC of isas & plcs
+  DeviceISACS isacs; //Information signal amplitude stabilizer
+  DevicePathLengthControlSystem plcs; //Path length control system
 } Device;
 
 typedef struct _HashParam {
@@ -128,7 +114,7 @@
   uint32_t size;
 } HashParam;
 
-#define HASH_PARAM_COUNT 29
+#define HASH_PARAM_COUNT 153
 
 typedef struct _HashFunc {
   uint32_t hash;
@@ -144,6 +130,7 @@
 
 void DeviceInitAllWithDefaults(void);
 void DeviceInitAll(void);
+void InitHashParamTable(void);
 
 void DeviceRegularEvent1Hz(void);
 void DeviceRegularEvent500Hz(void);