SEcube open-source SDK
L0.h
Go to the documentation of this file.
1 
10 #include "../LH/Commodities API/commodities_api.h"
13 #include "L0 Base/L0_base.h"
14 
15 const uint32_t SE3_TIMEOUT = 10000;
16 
17 class L0 : public CommoditiesApi, public CommunicationApi, public ProvisionApi {
18 private:
19  L0Base base;
20  //COMMODITIES
21  //overriding the virtual methods
22  bool Se3DriveNext();
23  bool Se3Info(uint64_t deadline, se3DiscoverInfo* info);
25  void L0DiscoverInit();
26  bool L0DiscoverNext();
27 
28  //COMMUNICATION
29  bool Se3Open(uint64_t deadline, se3File* phFile, se3DiscoverInfo* disco);
30  uint16_t L0TX(uint16_t cmd, uint16_t cmdFlags, uint16_t len, const uint8_t* data);
31  uint16_t L0RX(uint16_t* respStatus, uint16_t* respLen, uint8_t* respData);
32  //CLASS ATTRIBUTES
33  int nDevices;
34 public:
35  L0();
36  ~L0();
37  //COMMODITIES
38  bool L0DiscoverSerialNo(uint8_t* serialNo);
39  //COMMUNICATION
40  void L0Open(uint8_t devPtr);
41  void L0Open();
42  void L0Close(uint8_t devPtr);
43  void L0Close();
44  void L0TXRX(uint16_t reqCmd, uint16_t reqCmdFlags, uint16_t reqLen, const uint8_t* reqData, uint16_t* respStatus, uint16_t* respLen, uint8_t* respData); //used by L1
45  uint16_t L0Echo(const uint8_t* dataIn, uint16_t dataInLen, uint8_t* dataOut);
46  //PROVISION
47  uint16_t L0FactoryInit(const uint8_t* serialno);
48  //PERSONAL METHODS
49  void L0Restart();
50  uint8_t GetNumberDevices();
51  bool SwitchToDevice(int devPos);
52  uint8_t* GetDeviceHelloMsg();
53  se3Char* GetDevicePath(){return this->base.GetDeviceInfoPath();}
54  uint8_t* GetDeviceSn(){return this->base.GetDeviceInfoSerialNo();}
55  //LOGFILE MANAGING
56  bool Se3CreateLogFile(char* path, uint32_t file_dim);
57  char* Se3CreateLogFilePath(char *name);
58 };
communication_api.h
Prototypes of the COMMUNICATION API.
L0.h
Prototype of the L0 library.
L0_base.h
Prototypes of the L0Base library.
provision_api.h
Prototypes of the PROVISION API.