Parameters for ASR test day

This commit is contained in:
Jasper Blanckenburg 2023-04-11 21:10:20 +02:00
parent 253b10ba15
commit 7065cb455a
8 changed files with 101 additions and 125 deletions

View File

@ -10,14 +10,14 @@ extern "C" {
#include "util.h"
CountedEnum(ParamType, size_t, PF_BBAL, PF_TC1, PF_TC2, PF_TORQUEMAP, PF_TEST1,
CountedEnum(ParamType, size_t, PF_BBAL, PF_SLIPREF, PF_ASRP, PF_ASRON, PF_TEST1,
PF_TEST2, PF_TEST3, PF_TEST4);
typedef struct {
float bbal;
unsigned tc1;
unsigned tc2;
unsigned torque_map;
float slipref;
unsigned asrp;
unsigned asron;
unsigned test[4];
} Params;

View File

@ -14,14 +14,14 @@ void params_inc(ParamType param) {
params.bbal = 100.0f;
}
break;
case PF_TC1:
params.tc1++;
case PF_SLIPREF:
params.slipref += 0.01f;
break;
case PF_TC2:
params.tc2++;
case PF_ASRP:
params.asrp++;
break;
case PF_TORQUEMAP:
params.torque_map++;
case PF_ASRON:
params.asron = 1;
break;
case PF_TEST1:
params.test[0]++;
@ -46,20 +46,18 @@ void params_dec(ParamType param) {
params.bbal = 0.0f;
}
break;
case PF_TC1:
if (params.tc1 > 0) {
params.tc1--;
case PF_SLIPREF:
if (params.slipref > 0) {
params.slipref -= 0.01f;
}
break;
case PF_TC2:
if (params.tc2 > 0) {
params.tc2--;
case PF_ASRP:
if (params.asrp > 0) {
params.asrp--;
}
break;
case PF_TORQUEMAP:
if (params.torque_map > 0) {
params.torque_map--;
}
case PF_ASRON:
params.asron = 0;
break;
case PF_TEST1:
if (params.test[0] > 0) {
@ -90,14 +88,14 @@ void params_broadcast(ParamType param) {
case PF_BBAL:
value = params.bbal * 10;
break;
case PF_TC1:
value = params.tc1;
case PF_SLIPREF:
value = params.slipref * 100;
break;
case PF_TC2:
value = params.tc2;
case PF_ASRP:
value = params.asrp;
break;
case PF_TORQUEMAP:
value = params.torque_map;
case PF_ASRON:
value = params.asron;
break;
case PF_TEST1:
value = params.test[0];

View File

@ -174,7 +174,7 @@
</Texts>
<Typographies>
<Typography Id="Default" Font="verdana.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters="! &quot;" WildcardCharacterRanges="#-~" />
<Typography Id="Chinat_Large" Font="CHINN___.ttf" Size="30" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters="8 9" WildcardCharacterRanges="a-z,A-Z,0-7" />
<Typography Id="Chinat_Large" Font="CHINN___.ttf" Size="30" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters="8 9-" WildcardCharacterRanges="a-z,A-Z,0-7" />
<Typography Id="Chinat_Small" Font="CHINN___.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters="_ ." WildcardCharacterRanges="0-9,a-z,A-Z" />
<Typography Id="Chinat_Huge" Font="CHINN___.ttf" Size="40" Bpp="4" Direction="LTR" FallbackCharacter="?" />
<Typography Id="Numbers" Font="lucon.TTF" Size="50" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters=". ," WildcardCharacterRanges="0-9" />

View File

@ -1,4 +1,5 @@
32
45
48
49
50

View File

@ -1,5 +1,6 @@
AH:0 BA:1 FC:63 EC:0 FF:0 CF:0
32
45
48
49
50

View File

@ -4,6 +4,10 @@ FONT_GLYPH_LOCATION_FLASH_PRAGMA
KEEP extern const uint8_t unicodes_CHINN____30_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = {
// Unicode: [0x0020, space]
// (Has no glyph data)
// Unicode: [0x002D, hyphen]
0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF3, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x08,
// Unicode: [0x0030, zero]
0x00, 0x00, 0xA5, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDE, 0x29, 0x00, 0x00, 0x00,
0xC2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x10, 0xFD,

View File

@ -5,70 +5,71 @@
FONT_TABLE_LOCATION_FLASH_PRAGMA
KEEP extern const touchgfx::GlyphNode glyphs_CHINN____30_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
{ 0, 0x0020, 0, 0, 0, 0, 8, 0, 0, 0x00 }, // space
{ 0, 0x0030, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // zero
{ 300, 0x0031, 14, 20, 20, 5, 30, 0, 0, 0x00 }, // one
{ 440, 0x0032, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // two
{ 740, 0x0033, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // three
{ 1040, 0x0034, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // four
{ 1340, 0x0035, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // five
{ 1640, 0x0036, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // six
{ 1940, 0x0037, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // seven
{ 2240, 0x0038, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // eight
{ 2540, 0x0039, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // nine
{ 2840, 0x003A, 7, 14, 14, 1, 8, 0, 0, 0x00 }, // colon
{ 2896, 0x003F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // question
{ 3196, 0x0041, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // A
{ 3496, 0x0042, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // B
{ 3796, 0x0043, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // C
{ 4096, 0x0044, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // D
{ 4396, 0x0045, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // E
{ 4696, 0x0046, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // F
{ 4996, 0x0047, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // G
{ 5296, 0x0048, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // H
{ 5596, 0x0049, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // I
{ 5656, 0x004A, 30, 20, 20, -1, 29, 0, 0, 0x00 }, // J
{ 5956, 0x004B, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // K
{ 6256, 0x004C, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // L
{ 6556, 0x004D, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // M
{ 6876, 0x004E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // N
{ 7176, 0x004F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // O
{ 7476, 0x0050, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // P
{ 7796, 0x0051, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // Q
{ 8116, 0x0052, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // R
{ 8416, 0x0053, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // S
{ 8736, 0x0054, 30, 20, 20, -1, 28, 0, 0, 0x00 }, // T
{ 9036, 0x0055, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // U
{ 9336, 0x0056, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // V
{ 9636, 0x0057, 28, 20, 20, 0, 28, 0, 0, 0x00 }, // W
{ 9916, 0x0058, 29, 20, 20, 0, 28, 0, 0, 0x00 }, // X
{ 10216, 0x0059, 28, 20, 20, -1, 27, 0, 0, 0x00 }, // Y
{ 10496, 0x005A, 33, 20, 20, 0, 32, 0, 0, 0x00 }, // Z
{ 10836, 0x0061, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // a
{ 11136, 0x0062, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // b
{ 11436, 0x0063, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // c
{ 11736, 0x0064, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // d
{ 12036, 0x0065, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // e
{ 12336, 0x0066, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // f
{ 12636, 0x0067, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // g
{ 12936, 0x0068, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // h
{ 13236, 0x0069, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // i
{ 13296, 0x006A, 30, 20, 20, -1, 29, 0, 0, 0x00 }, // j
{ 13596, 0x006B, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // k
{ 13896, 0x006C, 22, 20, 20, 0, 21, 0, 0, 0x00 }, // l
{ 14116, 0x006D, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // m
{ 14416, 0x006E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // n
{ 14716, 0x006F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // o
{ 15016, 0x0070, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // p
{ 15316, 0x0071, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // q
{ 15636, 0x0072, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // r
{ 15936, 0x0073, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // s
{ 16256, 0x0074, 30, 20, 20, -1, 28, 0, 0, 0x00 }, // t
{ 16556, 0x0075, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // u
{ 16856, 0x0076, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // v
{ 17156, 0x0077, 33, 20, 20, 0, 33, 0, 0, 0x00 }, // w
{ 17496, 0x0078, 29, 20, 20, 0, 28, 0, 0, 0x00 }, // x
{ 17796, 0x0079, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // y
{ 18096, 0x007A, 33, 20, 20, 0, 32, 0, 0, 0x00 } // z
{ 0, 0x002D, 13, 5, 12, 0, 13, 0, 0, 0x00 }, // hyphen
{ 35, 0x0030, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // zero
{ 335, 0x0031, 14, 20, 20, 5, 30, 0, 0, 0x00 }, // one
{ 475, 0x0032, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // two
{ 775, 0x0033, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // three
{ 1075, 0x0034, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // four
{ 1375, 0x0035, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // five
{ 1675, 0x0036, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // six
{ 1975, 0x0037, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // seven
{ 2275, 0x0038, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // eight
{ 2575, 0x0039, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // nine
{ 2875, 0x003A, 7, 14, 14, 1, 8, 0, 0, 0x00 }, // colon
{ 2931, 0x003F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // question
{ 3231, 0x0041, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // A
{ 3531, 0x0042, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // B
{ 3831, 0x0043, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // C
{ 4131, 0x0044, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // D
{ 4431, 0x0045, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // E
{ 4731, 0x0046, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // F
{ 5031, 0x0047, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // G
{ 5331, 0x0048, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // H
{ 5631, 0x0049, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // I
{ 5691, 0x004A, 30, 20, 20, -1, 29, 0, 0, 0x00 }, // J
{ 5991, 0x004B, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // K
{ 6291, 0x004C, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // L
{ 6591, 0x004D, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // M
{ 6911, 0x004E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // N
{ 7211, 0x004F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // O
{ 7511, 0x0050, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // P
{ 7831, 0x0051, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // Q
{ 8151, 0x0052, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // R
{ 8451, 0x0053, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // S
{ 8771, 0x0054, 30, 20, 20, -1, 28, 0, 0, 0x00 }, // T
{ 9071, 0x0055, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // U
{ 9371, 0x0056, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // V
{ 9671, 0x0057, 28, 20, 20, 0, 28, 0, 0, 0x00 }, // W
{ 9951, 0x0058, 29, 20, 20, 0, 28, 0, 0, 0x00 }, // X
{ 10251, 0x0059, 28, 20, 20, -1, 27, 0, 0, 0x00 }, // Y
{ 10531, 0x005A, 33, 20, 20, 0, 32, 0, 0, 0x00 }, // Z
{ 10871, 0x0061, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // a
{ 11171, 0x0062, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // b
{ 11471, 0x0063, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // c
{ 11771, 0x0064, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // d
{ 12071, 0x0065, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // e
{ 12371, 0x0066, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // f
{ 12671, 0x0067, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // g
{ 12971, 0x0068, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // h
{ 13271, 0x0069, 6, 20, 20, 0, 7, 0, 0, 0x00 }, // i
{ 13331, 0x006A, 30, 20, 20, -1, 29, 0, 0, 0x00 }, // j
{ 13631, 0x006B, 30, 20, 20, 0, 29, 0, 0, 0x00 }, // k
{ 13931, 0x006C, 22, 20, 20, 0, 21, 0, 0, 0x00 }, // l
{ 14151, 0x006D, 29, 20, 20, 0, 30, 0, 0, 0x00 }, // m
{ 14451, 0x006E, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // n
{ 14751, 0x006F, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // o
{ 15051, 0x0070, 29, 20, 20, 0, 29, 0, 0, 0x00 }, // p
{ 15351, 0x0071, 31, 20, 20, 0, 31, 0, 0, 0x00 }, // q
{ 15671, 0x0072, 30, 20, 20, 0, 30, 0, 0, 0x00 }, // r
{ 15971, 0x0073, 32, 20, 20, 0, 32, 0, 0, 0x00 }, // s
{ 16291, 0x0074, 30, 20, 20, -1, 28, 0, 0, 0x00 }, // t
{ 16591, 0x0075, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // u
{ 16891, 0x0076, 29, 20, 20, -1, 27, 0, 0, 0x00 }, // v
{ 17191, 0x0077, 33, 20, 20, 0, 33, 0, 0, 0x00 }, // w
{ 17531, 0x0078, 29, 20, 20, 0, 28, 0, 0, 0x00 }, // x
{ 17831, 0x0079, 30, 20, 20, 0, 31, 0, 0, 0x00 }, // y
{ 18131, 0x007A, 33, 20, 20, 0, 32, 0, 0, 0x00 } // z
};
// CHINN____30_4bpp
@ -86,6 +87,6 @@ touchgfx::GeneratedFont& getFont_CHINN____30_4bpp();
touchgfx::GeneratedFont& getFont_CHINN____30_4bpp()
{
static touchgfx::GeneratedFont CHINN____30_4bpp(glyphs_CHINN____30_4bpp, 65, 30, 30, 0, 0, 4, 1, 1, 1, unicodes_CHINN____30_4bpp, kerning_CHINN____30_4bpp, 63, 0, 0, 0);
static touchgfx::GeneratedFont CHINN____30_4bpp(glyphs_CHINN____30_4bpp, 66, 30, 30, 0, 0, 4, 1, 1, 1, unicodes_CHINN____30_4bpp, kerning_CHINN____30_4bpp, 63, 0, 0, 0);
return CHINN____30_4bpp;
}

View File

@ -278,41 +278,12 @@ static_assert(sizeof(dataFieldDescs) / sizeof(dataFieldDescs[0]) ==
#define PARAM_FIELD(FIELD) []() { return (void *)&params.FIELD; }
void inc_bbal(void *valPtr) {
// float *val = (float *)valPtr;
// *val += 0.1f;
// if (*val > 100.0f) {
// *val = 100.0f;
// }
}
void dec_bbal(void *valPtr) {
// float *val = (float *)valPtr;
// *val -= 0.1f;
// if (*val < 0.0f) {
// *val = 0.0f;
// }
}
void inc_int(void *valPtr) {
// int *val = (int *)valPtr;
// *val += 1;
}
void dec_int(void *valPtr) {
// int *val = (int *)valPtr;
// *val -= 1;
// if (*val < 0) {
// *val = 0;
// }
}
NamedFieldDescription paramFieldDescs[] = {
[PF_BBAL] = {NamedFieldKind::Float, "BBAL", 2, 1, PARAM_FIELD(bbal)},
[PF_TC1] = {NamedFieldKind::Int, "TC1", 2, 0, PARAM_FIELD(tc1)},
[PF_TC2] = {NamedFieldKind::Int, "TC2", 2, 0, PARAM_FIELD(tc2)},
[PF_TORQUEMAP] = {NamedFieldKind::Int, "MAP", 2, 0,
PARAM_FIELD(torque_map)},
[PF_SLIPREF] = {NamedFieldKind::Float, "SLIPREF", 2, 2,
PARAM_FIELD(slipref)},
[PF_ASRP] = {NamedFieldKind::Int, "ASR-P", 2, 0, PARAM_FIELD(asrp)},
[PF_ASRON] = {NamedFieldKind::Int, "ASR-ON", 2, 0, PARAM_FIELD(asron)},
[PF_TEST1] = {NamedFieldKind::Int, "TEST1", 2, 0, PARAM_FIELD(test[0])},
[PF_TEST2] = {NamedFieldKind::Int, "TEST2", 2, 0, PARAM_FIELD(test[1])},
[PF_TEST3] = {NamedFieldKind::Int, "TEST3", 2, 0, PARAM_FIELD(test[2])},