![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Gets messages form the pc and translates it to I2C and back.
Dependencies: DevInterfaces I2Cinterfaces MCP4725 mbed
Diff: Writer.cpp
- Revision:
- 2:2330ad8b1baa
- Parent:
- 1:8ba039abd9b8
--- a/Writer.cpp Wed May 18 11:35:45 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -#include "Writer.h" - -bool Writer::Send(const Translator::MessageInfo message, int dacValue) { - // Copy msg to adapt it - Translator::MessageInfo msg = message; - - // Check Read/Write/Option - switch (msg.CommandType) { - case Translator::MessageInfo::READ: - case Translator::MessageInfo::WRITE: - // Copy dacValue in msg - msg.DacValue = dacValue; - // Translate to raw message - int8_t* rawMsg; - int rawMsgSize; - if (!Translator::Translate(msg, &rawMsg, &rawMsgSize)) - return false; - // <Zie Translator.h voor de eerste uitleg. Dit is het andere voorbeeld. - // Hier wordt rawMsg gegeven zonder een grootte. De functie printf zal nu - // simpelweg alle karakters uitlezen en stoppen wanneer het '\0' tegenkomt. - // Het werkt dus ook naar behoren omdat Translator::Translate dit karakter - // erbij zet.> - // Send it - printf("%s", rawMsg); - break; - - case Translator::MessageInfo::OPTION: - // Not yet implemented - SendError(msg); - break; - - default: - return false; - } - return true; -} - -bool Writer::SendError(const Translator::MessageInfo message) { - // Copy msg to adapt it - Translator::MessageInfo msg = message; - msg.CommandType = Translator::MessageInfo::ERROR; - // Translate to raw message - int rawMsgSize; - int8_t* rawMsg; - if (!Translator::Translate(msg, &rawMsg, &rawMsgSize)) - return false; - // Send it - printf("%s", rawMsg); - return true; -} \ No newline at end of file