[wip] added encoder
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
const uint8_t btn_pos_x[DISP_BTN_MAX] = {0, 26, 52, 78, 104};
|
||||
const uint8_t marker_freq_pos_x[FREQ_MAX_DIGIT] = {76, 84, 90, 96, 105, 111, 118};
|
||||
const uint8_t marker_ampl_pos_x[AMPL_MAX_DIGIT] = {82, 94, 100};
|
||||
const uint8_t marker_phas_pos_x[AMPL_MAX_DIGIT] = {82, 88, 96};
|
||||
|
||||
// clang-format off
|
||||
const GFX_bitmap_t marker_down = {05, 03, (uint8_t[]){0x01,0x03,0x07,0x03,0x01}};// res: 5x3(8) - 5 bytes
|
||||
@@ -28,7 +29,6 @@ static void _drawFreqValue(GFX_display_t *disp, uint32_t freq, uint8_t pos_y)
|
||||
uint8_t data[8];
|
||||
snprintf((char *)data, 8, "%07u", freq);
|
||||
DISP_writeString(disp, &font5x7Info, (uint8_t[]){data[0], 0}, 76, pos_y, BM_NORMAL);
|
||||
DISP_writeString(disp, &font5x7Info, (uint8_t[]){data[0], 0}, 76, pos_y, BM_NORMAL);
|
||||
DISP_writeString(disp, &font5x7Info, (uint8_t[]){data[1], data[2], data[3], 0}, 84, pos_y, BM_NORMAL);
|
||||
DISP_writeString(disp, &font5x7Info, (uint8_t[]){data[4], data[5], data[6], 0}, 105, pos_y, BM_NORMAL);
|
||||
}
|
||||
@@ -44,6 +44,10 @@ static void _drawOffsValue(GFX_display_t *disp, int16_t offs, uint8_t pos_y)
|
||||
{
|
||||
uint8_t data[8];
|
||||
snprintf((char *)data, 8, "%+01d.%02d V", offs / 100, abs(offs) % 100);
|
||||
if (offs < 0)
|
||||
{
|
||||
data[0] = '-';
|
||||
}
|
||||
DISP_writeString(disp, &font5x7Info, data, 76, pos_y, BM_NORMAL);
|
||||
}
|
||||
|
||||
@@ -54,12 +58,12 @@ static void _drawPhasValue(GFX_display_t *disp, uint16_t phase, uint8_t pos_y)
|
||||
DISP_writeString(disp, &font5x7Info, data, 76, pos_y, BM_NORMAL);
|
||||
}
|
||||
|
||||
static void _drawDutyValue(GFX_display_t *disp, uint8_t duty, uint8_t pos_y)
|
||||
{
|
||||
uint8_t data[8];
|
||||
snprintf((char *)data, 8, "%03u%%", duty);
|
||||
DISP_writeString(disp, &font5x7Info, data, 76, pos_y, BM_NORMAL);
|
||||
}
|
||||
// static void _drawDutyValue(GFX_display_t *disp, uint8_t duty, uint8_t pos_y)
|
||||
// {
|
||||
// uint8_t data[8];
|
||||
// snprintf((char *)data, 8, "%03u%%", duty);
|
||||
// DISP_writeString(disp, &font5x7Info, data, 76, pos_y, BM_NORMAL);
|
||||
// }
|
||||
|
||||
static void _blinkButtons(GFX_display_t *disp, APP_data_t *app_data)
|
||||
{
|
||||
@@ -168,7 +172,7 @@ static void _drawPhaseValueHelper(GFX_display_t *disp, uint32_t phase, uint8_t f
|
||||
DISP_clearRegion(disp, 64, 13, 66, 40);
|
||||
DISP_writeString(disp, &font5x7Info, (uint8_t *)"P:", 64, 20, BM_NORMAL);
|
||||
_drawPhasValue(disp, phase, 20);
|
||||
DISP_drawBitmap(disp, &marker_down, marker_ampl_pos_x[(AMPL_MAX_DIGIT - 1) - focus_digit], 15, BM_NORMAL);
|
||||
DISP_drawBitmap(disp, &marker_down, marker_phas_pos_x[(AMPL_MAX_DIGIT - 1) - focus_digit], 15, BM_NORMAL);
|
||||
}
|
||||
|
||||
static void _drawFuncGenValues(GFX_display_t *disp, APP_data_t *app_data)
|
||||
@@ -178,19 +182,19 @@ static void _drawFuncGenValues(GFX_display_t *disp, APP_data_t *app_data)
|
||||
{
|
||||
case LAY_FREQ:
|
||||
_drawFreqValueHelper(disp, fun_gen->frequency, app_data->freq_focus_digit);
|
||||
_drawMeterHelper(disp, "1", "1M", _calcMarkerPos(990000, 1000000));
|
||||
_drawMeterHelper(disp, "1", "1M", _calcMarkerPos(fun_gen->frequency, MAX_FREQ));
|
||||
break;
|
||||
case LAY_AMPL:
|
||||
_drawAmplValueHelper(disp, fun_gen->amplitude, app_data->ampl_focus_digit);
|
||||
_drawMeterHelper(disp, "0V", "5V", _calcMarkerPos(100, 500));
|
||||
_drawMeterHelper(disp, "0V", "5V", _calcMarkerPos(fun_gen->amplitude, MAX_VOLT_POS));
|
||||
break;
|
||||
case LAY_OFFS:
|
||||
_drawOffsValueHelper(disp, fun_gen->offset, app_data->offs_focus_digit);
|
||||
_drawMeterHelper(disp, "-5V", "+5V", _calcMarkerPos(100 + 250, 500 + 250));
|
||||
_drawMeterHelper(disp, "-5V", "+5V", _calcMarkerPos(MAX_VOLT_POS + fun_gen->offset, MAX_VOLT_POS * 2));
|
||||
break;
|
||||
case LAY_PHAS:
|
||||
_drawPhaseValueHelper(disp, fun_gen->phase, app_data->phas_focus_digit);
|
||||
_drawMeterHelper(disp, "0", "360", _calcMarkerPos(100, 500));
|
||||
_drawMeterHelper(disp, "0", "360", _calcMarkerPos(fun_gen->phase, MAX_PHAS));
|
||||
break;
|
||||
case LAY_MAIN:
|
||||
DISP_clearRegion(disp, 62, 13, 66, 40);
|
||||
@@ -213,7 +217,7 @@ static void _drawFuncGenValues(GFX_display_t *disp, APP_data_t *app_data)
|
||||
|
||||
static void _drawPwmGenValues(GFX_display_t *disp, APP_data_t *app_data)
|
||||
{
|
||||
GEN_pwm_t *pwm_gen = app_data->generator;
|
||||
// GEN_pwm_t *pwm_gen = app_data->generator;
|
||||
}
|
||||
|
||||
static void _drawValues(GFX_display_t *disp, APP_data_t *app_data)
|
||||
@@ -251,14 +255,14 @@ static void _drawOffsetLine(GFX_display_t *disp, int16_t offs, uint32_t ampl)
|
||||
DISP_drawHorizontalLine(disp, 2, 31 + offs_shift, 57, GFX_WHITE);
|
||||
}
|
||||
|
||||
static void _drawMaxAmpLine(GFX_display_t *disp, int16_t offs, uint32_t ampl)
|
||||
{
|
||||
DISP_drawHorizontalLine(disp, 2, 12, 57, GFX_WHITE);
|
||||
DISP_drawBitmap(disp, &marker_up, 0, 13, BM_NORMAL);
|
||||
// static void _drawMaxAmpLine(GFX_display_t *disp, int16_t offs, uint32_t ampl)
|
||||
// {
|
||||
// DISP_drawHorizontalLine(disp, 2, 12, 57, GFX_WHITE);
|
||||
// DISP_drawBitmap(disp, &marker_up, 0, 13, BM_NORMAL);
|
||||
|
||||
DISP_drawHorizontalLine(disp, 2, 51, 57, GFX_WHITE);
|
||||
DISP_drawBitmap(disp, &marker_down, 0, 48, BM_NORMAL);
|
||||
}
|
||||
// DISP_drawHorizontalLine(disp, 2, 51, 57, GFX_WHITE);
|
||||
// DISP_drawBitmap(disp, &marker_down, 0, 48, BM_NORMAL);
|
||||
// }
|
||||
|
||||
static void _drawFunGenGraph(GFX_display_t *disp, APP_data_t *app_data)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user