diff options
| author | Ján Sučan <sucanjan@fit.cvut.cz> | 2017-05-10 15:13:29 +0200 |
|---|---|---|
| committer | Ján Sučan <sucanjan@fit.cvut.cz> | 2017-05-10 15:13:29 +0200 |
| commit | 02e24f0f533fe904c3a5275c4060c10c38d7c17a (patch) | |
| tree | 19d05c60e3d6a6782c4712de960a8f6705054063 /Mcu.hpp | |
Uvodny commit, subory su rovnake ako na CD prilozenom k vytlacenemu texu bakalarskej prace, naviac je pridany len subor LICENCIA
Diffstat (limited to 'Mcu.hpp')
| -rwxr-xr-x | Mcu.hpp | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -0,0 +1,37 @@ +#ifndef MCU_HPP +#define MCU_HPP 1 + +#include "SerialPort.hpp" +#include "McuSpecifics.hpp" + +#include <cstdint> +#include <vector> +#include <memory> + +using std::vector; +using std::unique_ptr; + +class CMcu { +private: + CSerialPort & mSerialPort; + unique_ptr<IMcuSpecifics> mMcuSpecifics; + float mMcuFrequency; + + void decodeIdentData(uint8_t data[4], uint16_t & idmanuf, uint16_t & idchip); + void setMcuSpecificsById(uint16_t idmanuf, uint16_t idchip); + string getMessageForRetCode(uint16_t ret); + void sendShellCommand(uint8_t cmd); + +public: + CMcu(CSerialPort & serialPort, float mcuFrequency); + + void erase(); + void erase(list<unsigned int> blockList); + void erase(uint32_t startAddr, uint32_t endAddr); + void write(vector<uint8_t> data, bool printProgress); + vector<uint8_t> read(bool printProgress); + vector<uint8_t> read(uint32_t size, bool printProgress); + string ident(); +}; + +#endif |
