![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Fork to see if I can get working
Dependencies: BufferedSerial OneWire WinbondSPIFlash libxDot-dev-mbed5-deprecated
Fork of xDotBridge_update_test20180823 by
Diff: xDotBridge/inc/BaseboardIO.h
- Revision:
- 55:79ab0bbc5008
- Parent:
- 50:e89647e77fd5
- Child:
- 56:40b454c952cc
diff -r c04d7b6fa075 -r 79ab0bbc5008 xDotBridge/inc/BaseboardIO.h --- a/xDotBridge/inc/BaseboardIO.h Wed Feb 22 15:39:40 2017 -0700 +++ b/xDotBridge/inc/BaseboardIO.h Mon Feb 27 08:06:36 2017 -0700 @@ -9,6 +9,42 @@ #ifndef BASEBOARDIO_H_ #define BASEBOARDIO_H_ +const uint16_t BASEBOARDIO_NVM_START_ADDR = 0x1000; +const uint16_t BASEBOARDIO_NVM_SIZE = 32; // Bytes +const uint16_t BASEBOARDIO_FLAG = 0x5A00; +const uint16_t BASEBOARDIO_REV = 0x0000; + +class NvmBBIOObj { +public: + NvmBBIOObj(); + void setDefaults(); + CmdResult fromBytes(uint8_t *data, uint8_t size); + CmdResult toBytes(uint8_t *data, uint8_t &size); + + uint16_t getBaseboardIOFlag(); + bool validBaseboardIOFlag(); + uint16_t getBaseboardIORev(); + bool validBaseboardIORev(); + + uint16_t getSerialNum(); + void setSerialNum(uint16_t in); + uint32_t getBaseboardIOConfig(); + void setBaseboardIOConfig(uint32_t in); + void getPortExpanderROM0(uint8_t *addr); + void setPortExpanderROM0(const uint8_t *addr); + void getPortExpanderROM1(uint8_t *addr); + void setPortExpanderROM1(const uint8_t *addr); + // Make public to save memory + uint8_t mPortExpanderROM0[8]; + uint8_t mPortExpanderROM1[8]; + +private: + uint16_t mBaseboardIOFlag; + uint16_t mBaseboardIORev; + uint16_t mSerialNum; + uint16_t mBaseboardIOConfig; +}; + /** * @class BaseboardIO * @brief This class abstracts utilizing the IO mostly found on the baseboard @@ -318,6 +354,7 @@ private: // Initialized during constructor + NvmBBIOObj mNvmObj; OneWire mOWMaster; InterruptIn mCCIn; InterruptIn mTamper; @@ -325,14 +362,9 @@ DigitalOut mLed; DigitalOut mSwitchedIOCtrl; - // Initialized during init() -// void (*mCCInIntCallback) (void); -// void (*mTamperIntCallback) (void); -// void (*mPairBtnIntCallback) (void); - - uint8_t mPortExpanderROM0[8]; +// uint8_t mPortExpanderROM0[8]; // FIXME could probably get rid of uint8_t mPortExpanderVal0; - uint8_t mPortExpanderROM1[8]; +// uint8_t mPortExpanderROM1[8]; uint8_t mPortExpanderVal1; DS2408 *mPortEx0; @@ -343,7 +375,6 @@ } void disableSwitchedIO () { mSwitchedIOCtrl = 1; // deassertted since PMOS -// mSwitchedIOCtrl = 0; // FIXME } /** @@ -405,4 +436,5 @@ CmdResult openRelay(); }; + #endif /* BASEBOARDIO_BASEBOARDIO_H_ */