small change
This commit is contained in:
parent
3783c92bd9
commit
c9e1d4e28d
3 changed files with 62 additions and 51 deletions
|
@ -4,43 +4,43 @@
|
|||
#endif
|
||||
#include "gsmdata.h"
|
||||
const SayedTexts sayed_texts = {
|
||||
.nula = { 0x0000a2a0u, 22 },
|
||||
.jedna = { 0x00009f60u, 25 },
|
||||
.dva = { 0x00009c80u, 22 },
|
||||
.dve = { 0x00009920u, 26 },
|
||||
.tri = { 0x00009680u, 20 },
|
||||
.ctyri = { 0x00009300u, 27 },
|
||||
.pet = { 0x00009080u, 19 },
|
||||
.sest = { 0x00008d20u, 26 },
|
||||
.sedm = { 0x00008a20u, 23 },
|
||||
.osm = { 0x000087e0u, 17 },
|
||||
.devet = { 0x00008460u, 27 },
|
||||
.deset = { 0x000080e0u, 27 },
|
||||
.jedenact = { 0x00007c00u, 37 },
|
||||
.dvanact = { 0x00007740u, 36 },
|
||||
.trinact = { 0x00007280u, 36 },
|
||||
.ctrnact = { 0x00006da0u, 37 },
|
||||
.patnact = { 0x00006920u, 34 },
|
||||
.sestnact = { 0x00006300u, 47 },
|
||||
.sedmnact = { 0x00005d40u, 44 },
|
||||
.osmnact = { 0x00005840u, 38 },
|
||||
.devatenact = { 0x000052a0u, 43 },
|
||||
.dvacet = { 0x00004ea0u, 31 },
|
||||
.tricet = { 0x00004ae0u, 29 },
|
||||
.ctyricet = { 0x00004640u, 35 },
|
||||
.padesat = { 0x000041c0u, 34 },
|
||||
.sedesat = { 0x00003c80u, 40 },
|
||||
.sedmdesat = { 0x000036a0u, 45 },
|
||||
.osmdesat = { 0x00003180u, 39 },
|
||||
.devadesat = { 0x00002c20u, 41 },
|
||||
.sto = { 0x00002940u, 22 },
|
||||
.dveste = { 0x00002440u, 38 },
|
||||
.sta = { 0x00002180u, 21 },
|
||||
.set = { 0x00001ec0u, 21 },
|
||||
.tisic = { 0x00001ac0u, 31 },
|
||||
.tisice = { 0x000015a0u, 39 },
|
||||
.minus = { 0x000011e0u, 29 },
|
||||
.point = { 0x00000e20u, 29 },
|
||||
.hafo = { 0x00000ac0u, 26 },
|
||||
.units = { 0x00000280u, 64 },
|
||||
.nula = { 0xa2a0u, 22 },
|
||||
.jedna = { 0x9f60u, 25 },
|
||||
.dva = { 0x9c80u, 22 },
|
||||
.dve = { 0x9920u, 26 },
|
||||
.tri = { 0x9680u, 20 },
|
||||
.ctyri = { 0x9300u, 27 },
|
||||
.pet = { 0x9080u, 19 },
|
||||
.sest = { 0x8d20u, 26 },
|
||||
.sedm = { 0x8a20u, 23 },
|
||||
.osm = { 0x87e0u, 17 },
|
||||
.devet = { 0x8460u, 27 },
|
||||
.deset = { 0x80e0u, 27 },
|
||||
.jedenact = { 0x7c00u, 37 },
|
||||
.dvanact = { 0x7740u, 36 },
|
||||
.trinact = { 0x7280u, 36 },
|
||||
.ctrnact = { 0x6da0u, 37 },
|
||||
.patnact = { 0x6920u, 34 },
|
||||
.sestnact = { 0x6300u, 47 },
|
||||
.sedmnact = { 0x5d40u, 44 },
|
||||
.osmnact = { 0x5840u, 38 },
|
||||
.devatenact = { 0x52a0u, 43 },
|
||||
.dvacet = { 0x4ea0u, 31 },
|
||||
.tricet = { 0x4ae0u, 29 },
|
||||
.ctyricet = { 0x4640u, 35 },
|
||||
.padesat = { 0x41c0u, 34 },
|
||||
.sedesat = { 0x3c80u, 40 },
|
||||
.sedmdesat = { 0x36a0u, 45 },
|
||||
.osmdesat = { 0x3180u, 39 },
|
||||
.devadesat = { 0x2c20u, 41 },
|
||||
.sto = { 0x2940u, 22 },
|
||||
.dveste = { 0x2440u, 38 },
|
||||
.sta = { 0x2180u, 21 },
|
||||
.set = { 0x1ec0u, 21 },
|
||||
.tisic = { 0x1ac0u, 31 },
|
||||
.tisice = { 0x15a0u, 39 },
|
||||
.minus = { 0x11e0u, 29 },
|
||||
.point = { 0x0e20u, 29 },
|
||||
.hafo = { 0x0ac0u, 26 },
|
||||
.units = { 0x0280u, 64 },
|
||||
};
|
||||
|
|
|
@ -113,7 +113,8 @@ void Reader::generate() {
|
|||
for (unsigned n=0; n<count; n++) {
|
||||
const text_p & ep = ebase [n];
|
||||
const text_pair & tp = tbase [n];
|
||||
fprintf(out, " .%s = { 0x%08lxu, %d },\n", tp.name, size_t (ep.frames), ep.no_frames);
|
||||
const int padding = 11 - strlen(tp.name);
|
||||
fprintf(out, " .%s%*s = { 0x%04lxu, %d },\n", tp.name, padding, "", size_t (ep.frames), ep.no_frames);
|
||||
}
|
||||
fprintf(out, "};\n");
|
||||
fclose(out);
|
||||
|
|
|
@ -55,17 +55,17 @@ static unsigned abs_diff (const int a, const int b) {
|
|||
const int d = a - b;
|
||||
return d > 0 ? +d : -d;
|
||||
}
|
||||
////////////////////////////////////////////////////////
|
||||
static GpioClass led (GPIOB, 8u);
|
||||
static PwmClass pwm;
|
||||
static FIFO<uint32_t, FIFOLEN> fifo;
|
||||
static TextPlayer player (fifo, led);
|
||||
static GsmDecoder decoder(fifo);
|
||||
|
||||
static GpioClass button (GPIOA, 0u, (GPIO_Speed_In | GPIO_UPDI_MPPO));
|
||||
static FIFO<uint32_t, FIFOLEN> avgring;
|
||||
static AdcDma adc;
|
||||
static Average avg (avgring);
|
||||
/////////////////////////// GSM kecátko /////////////////////////////
|
||||
static GpioClass led (GPIOB, 8u);
|
||||
static PwmClass pwm;
|
||||
static FIFO<uint32_t, FIFOLEN> fifo;
|
||||
static TextPlayer player (fifo, led);
|
||||
static GsmDecoder decoder(fifo);
|
||||
/////////////////////////// NTC teploměr /////////////////////////////
|
||||
static GpioClass button (GPIOA, 0u, (GPIO_Speed_In | GPIO_UPDI_MPPO));
|
||||
static AdcDma adc;
|
||||
static FIFO<uint32_t, FIFOLEN> avgring;
|
||||
static Average avg (avgring);
|
||||
static const SPLINE<array_size(measured)> spline (measured, false);
|
||||
|
||||
int main () {
|
||||
|
@ -74,7 +74,16 @@ int main () {
|
|||
adc.attach (avg);
|
||||
int old_value = 0;
|
||||
uint32_t average;
|
||||
bool flush = true;
|
||||
for (;;) {
|
||||
if (flush) { // flush FIFO
|
||||
led << true;
|
||||
for (unsigned n=0u; n<FIFOLEN;) {
|
||||
if (avgring.Read(average)) n += 1u;
|
||||
}
|
||||
flush = false;
|
||||
led << false;
|
||||
}
|
||||
if (avgring.Read(average)) {
|
||||
// average je de facto posunuta doleva o 7, potřebujeme o 16 - rozdíl je tedy 9
|
||||
const int32_t ivalue = static_cast<int32_t>(average << 9);
|
||||
|
@ -85,6 +94,7 @@ int main () {
|
|||
old_value = temperature;
|
||||
player.say(old_value, 2); // s rozlišením na setiny
|
||||
player.say(sayed_texts.units);
|
||||
flush = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue