123

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
Diletant
Date:
Sun May 15 19:12:12 2016 +0000
Revision:
161:efd949e8d536
Parent:
156:e68ee0bcdcda
Child:
167:bedc0a9d559a
Device & ... update. Not final!!!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Diletant 156:e68ee0bcdcda 1 #ifndef __DEVICE_CONTROLLER_H__
Diletant 156:e68ee0bcdcda 2 #define __DEVICE_CONTROLLER_H__
Diletant 156:e68ee0bcdcda 3
Diletant 156:e68ee0bcdcda 4 #include "DeviceFlash.h"
Diletant 156:e68ee0bcdcda 5 #include "DeviceSSP.h"
Diletant 156:e68ee0bcdcda 6 #include "DeviceI2C.h"
Diletant 156:e68ee0bcdcda 7 #include "DeviceQEI.h"
Diletant 156:e68ee0bcdcda 8 #include "DeviceServicePort.h"
Diletant 161:efd949e8d536 9 #include "DeviceUserPort.h"
Diletant 156:e68ee0bcdcda 10 //#include "DeviceDAC.h"
Diletant 156:e68ee0bcdcda 11 #include "DeviceTimers.h"
Diletant 156:e68ee0bcdcda 12
Diletant 156:e68ee0bcdcda 13 typedef struct _DeviceUARTSettings {
Diletant 156:e68ee0bcdcda 14 uint32_t baudRate;
Diletant 156:e68ee0bcdcda 15 } DeviceUARTSettings;
Diletant 156:e68ee0bcdcda 16
Diletant 156:e68ee0bcdcda 17 typedef struct _DeviceUARTState {
Diletant 156:e68ee0bcdcda 18 //Line Control Register. Contains controls for frame formatting and break generation.
Diletant 156:e68ee0bcdcda 19 uint8_t LCR;
Diletant 156:e68ee0bcdcda 20
Diletant 156:e68ee0bcdcda 21 //Divisor Latch MSB. Most significant byte of the baud rate divisor value.
Diletant 156:e68ee0bcdcda 22 //The full divisor is used to generate a baud rate from the fractional rate divider.
Diletant 156:e68ee0bcdcda 23 //When DLAB = 1
Diletant 156:e68ee0bcdcda 24 uint8_t DLM;
Diletant 156:e68ee0bcdcda 25
Diletant 156:e68ee0bcdcda 26 //Divisor Latch LSB. Least significant byte of the baud rate divisor value.
Diletant 156:e68ee0bcdcda 27 //The full divisor is used to generate a baud rate from the fractional rate divider.
Diletant 156:e68ee0bcdcda 28 //When DLAB = 1
Diletant 156:e68ee0bcdcda 29 uint8_t DLL;
Diletant 156:e68ee0bcdcda 30
Diletant 156:e68ee0bcdcda 31 //FIFO Control Register. Controls FIFO usage and modes.
Diletant 156:e68ee0bcdcda 32 uint8_t FCR;
Diletant 156:e68ee0bcdcda 33 } DeviceUARTState;
Diletant 156:e68ee0bcdcda 34
Diletant 156:e68ee0bcdcda 35 typedef struct _DeviceUART {
Diletant 156:e68ee0bcdcda 36 DeviceUARTSettings settings;
Diletant 156:e68ee0bcdcda 37 DeviceUARTState state;
Diletant 156:e68ee0bcdcda 38 } DeviceUART;
Diletant 156:e68ee0bcdcda 39
Diletant 161:efd949e8d536 40 typedef struct _DeviceController {
Diletant 156:e68ee0bcdcda 41 uint32_t chip;
Diletant 156:e68ee0bcdcda 42 DeviceFlash flash;
Diletant 156:e68ee0bcdcda 43 //DeviceDAC dac;
Diletant 156:e68ee0bcdcda 44 DeviceSSP SSP;
Diletant 156:e68ee0bcdcda 45 DeviceI2C I2C;
Diletant 156:e68ee0bcdcda 46 DeviceQEI QEI;
Diletant 156:e68ee0bcdcda 47 DeviceTimer timer[2];
Diletant 156:e68ee0bcdcda 48 DeviceUART uart[2];
Diletant 156:e68ee0bcdcda 49 } DeviceController;
Diletant 156:e68ee0bcdcda 50
Diletant 156:e68ee0bcdcda 51 void InitControllerWithDefaults(void);
Diletant 156:e68ee0bcdcda 52 void InitController(void);
Diletant 156:e68ee0bcdcda 53
Diletant 156:e68ee0bcdcda 54 #endif /* __DEVICE_CONTROLLER_H__ */