33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
#include "system.h"
|
|
#include "gpio.h"
|
|
#include "cdc_class.h"
|
|
#include "linkprotocol.h"
|
|
#include "helpers.h"
|
|
/*********************************************************************************
|
|
* Do mluvícího teploměru bylo potřeba nějak dostat data do externí flash.
|
|
* Zde je základ programátoru, je to recyklovaný kód, takže zatím to umí jen
|
|
* binární soubory. Dodělat Intel hex není problém, ale nepotřebuji to.
|
|
* Umí to jen nor flash se stránkou 4096 bytů, předpokládaná velikost je 32Mbit.
|
|
* Software je dost surový, bez kontrol, prostě jen aby to trochu fungovalo.
|
|
**********************************************************************************/
|
|
static GpioClass led (GPIOB, 8);
|
|
static cdc_class cdc;
|
|
static MemoryBase mem;
|
|
static CdcCmd cmd;
|
|
static LinkProtocol lnk (cmd, mem);
|
|
|
|
int main () {
|
|
led << true;
|
|
cdc.init ();
|
|
cmd += cdc;
|
|
unsigned pass = 0u, command;
|
|
for (;;) {
|
|
char * res = cmd.GetLine(command);
|
|
if (command == 0u) continue;
|
|
lnk.ParseLine(res);
|
|
pass += 1u;
|
|
const bool b = pass & 1u;
|
|
led << b;
|
|
}
|
|
return 0;
|
|
}
|