123

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
Diletant
Date:
Sun Jul 10 05:35:08 2016 +0000
Revision:
182:2bd8ec44998f
Parent:
173:7f938afb0447
Device & ... update. More AskGld & Techno functionality. 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 "DeviceTimers.h"
Diletant 156:e68ee0bcdcda 11
Diletant 156:e68ee0bcdcda 12 typedef struct _DeviceUARTSettings {
Diletant 156:e68ee0bcdcda 13 } DeviceUARTSettings;
Diletant 156:e68ee0bcdcda 14
Diletant 156:e68ee0bcdcda 15 typedef struct _DeviceUARTState {
Diletant 156:e68ee0bcdcda 16 //Line Control Register. Contains controls for frame formatting and break generation.
Diletant 156:e68ee0bcdcda 17 uint8_t LCR;
Diletant 156:e68ee0bcdcda 18
Diletant 156:e68ee0bcdcda 19 //Divisor Latch MSB. Most significant byte of the baud rate divisor value.
Diletant 156:e68ee0bcdcda 20 //The full divisor is used to generate a baud rate from the fractional rate divider.
Diletant 156:e68ee0bcdcda 21 //When DLAB = 1
Diletant 156:e68ee0bcdcda 22 uint8_t DLM;
Diletant 156:e68ee0bcdcda 23
Diletant 156:e68ee0bcdcda 24 //Divisor Latch LSB. Least significant byte of the baud rate divisor value.
Diletant 156:e68ee0bcdcda 25 //The full divisor is used to generate a baud rate from the fractional rate divider.
Diletant 156:e68ee0bcdcda 26 //When DLAB = 1
Diletant 156:e68ee0bcdcda 27 uint8_t DLL;
Diletant 156:e68ee0bcdcda 28
Diletant 156:e68ee0bcdcda 29 //FIFO Control Register. Controls FIFO usage and modes.
Diletant 156:e68ee0bcdcda 30 uint8_t FCR;
Diletant 156:e68ee0bcdcda 31 } DeviceUARTState;
Diletant 156:e68ee0bcdcda 32
Diletant 156:e68ee0bcdcda 33 typedef struct _DeviceUART {
Diletant 156:e68ee0bcdcda 34 DeviceUARTSettings settings;
Diletant 156:e68ee0bcdcda 35 DeviceUARTState state;
Diletant 156:e68ee0bcdcda 36 } DeviceUART;
Diletant 156:e68ee0bcdcda 37
Diletant 161:efd949e8d536 38 typedef struct _DeviceController {
Diletant 156:e68ee0bcdcda 39 uint32_t chip;
Diletant 156:e68ee0bcdcda 40 DeviceFlash flash;
Diletant 156:e68ee0bcdcda 41 DeviceSSP SSP;
Diletant 156:e68ee0bcdcda 42 DeviceI2C I2C;
Diletant 156:e68ee0bcdcda 43 DeviceQEI QEI;
Diletant 156:e68ee0bcdcda 44 DeviceTimer timer[2];
Diletant 156:e68ee0bcdcda 45 DeviceUART uart[2];
Diletant 156:e68ee0bcdcda 46 } DeviceController;
Diletant 156:e68ee0bcdcda 47
Diletant 173:7f938afb0447 48 void SystemInit1(void);
Diletant 173:7f938afb0447 49 void SystemCoreClockUpdate1(void);
Diletant 173:7f938afb0447 50
Diletant 167:bedc0a9d559a 51 void InitControllerDefaultSettings(void);
Diletant 167:bedc0a9d559a 52 void InitControllerState(void);
Diletant 167:bedc0a9d559a 53 void DeviceStartController(void);
Diletant 156:e68ee0bcdcda 54
Diletant 156:e68ee0bcdcda 55 #endif /* __DEVICE_CONTROLLER_H__ */