[wip] func gen layout finished
This commit is contained in:
@@ -100,13 +100,24 @@ static uint8_t _calcMarkePos(uint32_t value, uint32_t max)
|
|||||||
return ((62 * value) + (max / 2)) / max;
|
return ((62 * value) + (max / 2)) / max;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static uint8_t _sizeOfCharArray(char *array)
|
||||||
|
{
|
||||||
|
uint8_t size = 0;
|
||||||
|
while (*array++)
|
||||||
|
{
|
||||||
|
size++;
|
||||||
|
}
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
static void _drawMeterHelper(GFX_display_t *disp, char *min, char *max, uint8_t pos)
|
static void _drawMeterHelper(GFX_display_t *disp, char *min, char *max, uint8_t pos)
|
||||||
{
|
{
|
||||||
|
uint8_t max_size = _sizeOfCharArray(max);
|
||||||
DISP_drawPixel(disp, 64, 40, GFX_WHITE);
|
DISP_drawPixel(disp, 64, 40, GFX_WHITE);
|
||||||
DISP_drawPixel(disp, 125, 40, GFX_WHITE);
|
DISP_drawPixel(disp, 125, 40, GFX_WHITE);
|
||||||
DISP_drawHorizontalLine(disp, 64, 41, 62, GFX_WHITE);
|
DISP_drawHorizontalLine(disp, 64, 41, 62, GFX_WHITE);
|
||||||
DISP_writeString(disp, &font5x7Info, (uint8_t *)min, 62, 43, BM_NORMAL);
|
DISP_writeString(disp, &font5x7Info, (uint8_t *)min, 62, 43, BM_NORMAL);
|
||||||
DISP_writeString(disp, &font5x7Info, (uint8_t *)max, 117, 43, BM_NORMAL);
|
DISP_writeString(disp, &font5x7Info, (uint8_t *)max, 127 - (6 * max_size), 43, BM_NORMAL);
|
||||||
// marker 0% - 62, 100% - 123
|
// marker 0% - 62, 100% - 123
|
||||||
DISP_drawBitmap(disp, &marker, 62 + pos, 35, BM_NORMAL);
|
DISP_drawBitmap(disp, &marker, 62 + pos, 35, BM_NORMAL);
|
||||||
}
|
}
|
||||||
@@ -127,6 +138,22 @@ static void _drawAmplValueHelper(GFX_display_t *disp, uint32_t ampl, uint8_t foc
|
|||||||
DISP_drawBitmap(disp, &marker, marker_ampl_pos_x[(AMPL_MAX_DIGIT - 1) - focus_digit], 15, BM_NORMAL);
|
DISP_drawBitmap(disp, &marker, marker_ampl_pos_x[(AMPL_MAX_DIGIT - 1) - focus_digit], 15, BM_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void _drawOffsValueHelper(GFX_display_t *disp, uint32_t offs, uint8_t focus_digit)
|
||||||
|
{
|
||||||
|
DISP_clearRegion(disp, 64, 13, 66, 40);
|
||||||
|
DISP_writeString(disp, &font5x7Info, (uint8_t *)"O:", 64, 20, BM_NORMAL);
|
||||||
|
_drawAmplValue(disp, offs, 20);
|
||||||
|
DISP_drawBitmap(disp, &marker, marker_ampl_pos_x[(AMPL_MAX_DIGIT - 1) - focus_digit], 15, BM_NORMAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _drawPhaseValueHelper(GFX_display_t *disp, uint32_t phase, uint8_t focus_digit)
|
||||||
|
{
|
||||||
|
DISP_clearRegion(disp, 64, 13, 66, 40);
|
||||||
|
DISP_writeString(disp, &font5x7Info, (uint8_t *)"P:", 64, 20, BM_NORMAL);
|
||||||
|
_drawAmplValue(disp, phase, 20);
|
||||||
|
DISP_drawBitmap(disp, &marker, marker_ampl_pos_x[(AMPL_MAX_DIGIT - 1) - focus_digit], 15, BM_NORMAL);
|
||||||
|
}
|
||||||
|
|
||||||
static void _drawFuncGenValues(GFX_display_t *disp, APP_data_t *app_data)
|
static void _drawFuncGenValues(GFX_display_t *disp, APP_data_t *app_data)
|
||||||
{
|
{
|
||||||
GEN_fg_t *fun_gen = (GEN_fg_t *)app_data->generator;
|
GEN_fg_t *fun_gen = (GEN_fg_t *)app_data->generator;
|
||||||
@@ -141,8 +168,12 @@ static void _drawFuncGenValues(GFX_display_t *disp, APP_data_t *app_data)
|
|||||||
_drawMeterHelper(disp, "0V", "5V", _calcMarkePos(100, 500));
|
_drawMeterHelper(disp, "0V", "5V", _calcMarkePos(100, 500));
|
||||||
break;
|
break;
|
||||||
case LAY_OFFS:
|
case LAY_OFFS:
|
||||||
|
_drawOffsValueHelper(disp, fun_gen->offset, app_data->offs_focus_digit);
|
||||||
|
_drawMeterHelper(disp, "-5V", "+5V", _calcMarkePos(100, 500));
|
||||||
break;
|
break;
|
||||||
case LAY_PHAS:
|
case LAY_PHAS:
|
||||||
|
_drawPhaseValueHelper(disp, fun_gen->phase, app_data->phas_focus_digit);
|
||||||
|
_drawMeterHelper(disp, "0", "360", _calcMarkePos(100, 500));
|
||||||
break;
|
break;
|
||||||
case LAY_MAIN:
|
case LAY_MAIN:
|
||||||
DISP_clearRegion(disp, 62, 13, 66, 40);
|
DISP_clearRegion(disp, 62, 13, 66, 40);
|
||||||
|
|||||||
Reference in New Issue
Block a user