//#ifndef MISSION_ARDUINOCOMMINTERFACE_H_ //#define MISSION_ARDUINOCOMMINTERFACE_H_ // //#include //#include //#include //#include //#include //#include // //#include "../../framework/objectmanager/SystemObject.h" //#include "ArduinoCookie.h" // ////Forward declaration, so users don't peek //class ArduinoCookie; // //class ArduinoComIF: public SystemObject, // public DeviceCommunicationIF { //public: // static const uint8_t MAX_NUMBER_OF_SPI_DEVICES = 8; // static const uint8_t MAX_PACKET_SIZE = 64; // // static const uint8_t COMMAND_INVALID = -1; // static const uint8_t COMMAND_SPI = 1; // // ArduinoComIF(object_id_t setObjectId, const char *serialDevice); // virtual ~ArduinoComIF(); // // virtual ReturnValue_t open(Cookie **cookie, uint32_t address, // uint32_t maxReplyLen); // // virtual ReturnValue_t reOpen(Cookie *cookie, uint32_t address, // uint32_t maxReplyLen); // // virtual void close(Cookie *cookie); // // //SHOULDDO can data be const? // virtual ReturnValue_t sendMessage(Cookie *cookie, uint8_t *data, // uint32_t len); // // virtual ReturnValue_t getSendSuccess(Cookie *cookie); // // virtual ReturnValue_t requestReceiveMessage(Cookie *cookie); // // virtual ReturnValue_t readReceivedMessage(Cookie *cookie, uint8_t **buffer, // uint32_t *size); // // virtual ReturnValue_t setAddress(Cookie *cookie, uint32_t address); // // virtual uint32_t getAddress(Cookie *cookie); // // virtual ReturnValue_t setParameter(Cookie *cookie, uint32_t parameter); // // virtual uint32_t getParameter(Cookie *cookie); //private: // //remembering if the initialization in the ctor worked // //if not, all calls are disabled // bool initialized; // int serialPort; // //used to know where to put the data if a reply is received // FixedMap spiMap; // // SimpleRingBuffer rxBuffer; // // ReturnValue_t sendMessage(uint8_t command, uint8_t address, // const uint8_t *data, size_t dataLen); // // void handleSerialPortRx(); // // void handlePacket(uint8_t *packet, size_t packetLen); //}; // //#endif /* MISSION_ARDUINOCOMMINTERFACE_H_ */