mirror of
https://github.com/opentx/opentx.git
synced 2025-07-14 20:10:08 +03:00
[Horus] A few TODOs fixed (some sprintf removed)
This commit is contained in:
parent
d6c17a7ead
commit
b7e4a3c63b
7 changed files with 45 additions and 34 deletions
|
@ -2,7 +2,7 @@
|
||||||
* Copyright (C) OpenTX
|
* Copyright (C) OpenTX
|
||||||
*
|
*
|
||||||
* Based on code named
|
* Based on code named
|
||||||
* th9x - http://code.google.com/p/th9x
|
* th9x - http://code.google.com/p/th9x
|
||||||
* er9x - http://code.google.com/p/er9x
|
* er9x - http://code.google.com/p/er9x
|
||||||
* gruvin9x - http://code.google.com/p/gruvin9x
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||||
*
|
*
|
||||||
|
@ -195,7 +195,7 @@ void lcdDrawSizedText(coord_t x, coord_t y, const pm_char * s, uint8_t len, LcdF
|
||||||
strcat_zchar(str, s, len);
|
strcat_zchar(str, s, len);
|
||||||
else
|
else
|
||||||
strAppend(str, s, len);
|
strAppend(str, s, len);
|
||||||
|
|
||||||
const coord_t orig_x = x;
|
const coord_t orig_x = x;
|
||||||
bool setx = false;
|
bool setx = false;
|
||||||
while (len--) {
|
while (len--) {
|
||||||
|
@ -431,11 +431,10 @@ void putsTimer(coord_t x, coord_t y, putstime_t tme, LcdFlags att)
|
||||||
lcdDrawText(x, y, str, att);
|
lcdDrawText(x, y, str, att);
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawStringWithIndex(coord_t x, coord_t y, const pm_char *str, int idx, LcdFlags att, const char *prefix)
|
void drawStringWithIndex(coord_t x, coord_t y, const pm_char * str, int idx, LcdFlags att, const char * prefix)
|
||||||
{
|
{
|
||||||
// TODO quick & dirty, dangerous
|
char s[64];
|
||||||
char s[32];
|
strAppendNumber(strAppend(strAppend(s, prefix), str), abs(idx));
|
||||||
sprintf(s, "%s%s%d", prefix, str, abs(idx));
|
|
||||||
lcdDrawText(x, y, s, att);
|
lcdDrawText(x, y, s, att);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -457,7 +456,7 @@ void putsMixerSource(coord_t x, coord_t y, uint8_t idx, LcdFlags att)
|
||||||
s[1+LEN_INPUT_NAME] = '\0';
|
s[1+LEN_INPUT_NAME] = '\0';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sprintf(s+1, "%02d", idx);
|
strAppendNumber(s+1, idx, 2);
|
||||||
}
|
}
|
||||||
lcdDrawText(x, y, s, att);
|
lcdDrawText(x, y, s, att);
|
||||||
}
|
}
|
||||||
|
@ -546,8 +545,7 @@ char * getStringAtIndex(char * dest, const char * s, int idx)
|
||||||
|
|
||||||
char * getStringWithIndex(char * dest, const char * s, int idx)
|
char * getStringWithIndex(char * dest, const char * s, int idx)
|
||||||
{
|
{
|
||||||
// TODO reimplement without the sprintf
|
strAppendNumber(strAppend(dest, s), abs(idx));
|
||||||
sprintf(dest, "%s%d", s, abs(idx));
|
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* Copyright (C) OpenTX
|
* Copyright (C) OpenTX
|
||||||
*
|
*
|
||||||
* Based on code named
|
* Based on code named
|
||||||
* th9x - http://code.google.com/p/th9x
|
* th9x - http://code.google.com/p/th9x
|
||||||
* er9x - http://code.google.com/p/er9x
|
* er9x - http://code.google.com/p/er9x
|
||||||
* gruvin9x - http://code.google.com/p/gruvin9x
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||||
*
|
*
|
||||||
|
@ -259,7 +259,7 @@ bool menuGeneralSdManager(evt_t _event)
|
||||||
TCHAR lfn[_MAX_LFN + 1];
|
TCHAR lfn[_MAX_LFN + 1];
|
||||||
fno.lfname = lfn;
|
fno.lfname = lfn;
|
||||||
fno.lfsize = sizeof(lfn);
|
fno.lfsize = sizeof(lfn);
|
||||||
|
|
||||||
if (menuVerticalOffset == 0) {
|
if (menuVerticalOffset == 0) {
|
||||||
reusableBuffer.sdmanager.offset = 0;
|
reusableBuffer.sdmanager.offset = 0;
|
||||||
memset(reusableBuffer.sdmanager.lines, 0, sizeof(reusableBuffer.sdmanager.lines));
|
memset(reusableBuffer.sdmanager.lines, 0, sizeof(reusableBuffer.sdmanager.lines));
|
||||||
|
@ -347,7 +347,11 @@ bool menuGeneralSdManager(evt_t _event)
|
||||||
if (reusableBuffer.sdmanager.lines[i][0]) {
|
if (reusableBuffer.sdmanager.lines[i][0]) {
|
||||||
if (IS_DIRECTORY(reusableBuffer.sdmanager.lines[i])) {
|
if (IS_DIRECTORY(reusableBuffer.sdmanager.lines[i])) {
|
||||||
char s[sizeof(reusableBuffer.sdmanager.lines[0])+2];
|
char s[sizeof(reusableBuffer.sdmanager.lines[0])+2];
|
||||||
sprintf(s, "[%s]", reusableBuffer.sdmanager.lines[i]);
|
char * ptr = s;
|
||||||
|
*ptr++ = '[';
|
||||||
|
ptr = strAppend(ptr, reusableBuffer.sdmanager.lines[i]);
|
||||||
|
*ptr++ = ']';
|
||||||
|
*ptr = '\0';
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, s, attr);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, s, attr);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -366,6 +370,6 @@ bool menuGeneralSdManager(evt_t _event)
|
||||||
}
|
}
|
||||||
lcdDrawBitmap(LCD_W/2, (LCD_H-MODEL_BITMAP_HEIGHT)/2, modelBitmap);
|
lcdDrawBitmap(LCD_W/2, (LCD_H-MODEL_BITMAP_HEIGHT)/2, modelBitmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* Copyright (C) OpenTX
|
* Copyright (C) OpenTX
|
||||||
*
|
*
|
||||||
* Based on code named
|
* Based on code named
|
||||||
* th9x - http://code.google.com/p/th9x
|
* th9x - http://code.google.com/p/th9x
|
||||||
* er9x - http://code.google.com/p/er9x
|
* er9x - http://code.google.com/p/er9x
|
||||||
* gruvin9x - http://code.google.com/p/gruvin9x
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||||
*
|
*
|
||||||
|
@ -248,7 +248,7 @@ bool menuModelCurveOne(evt_t event)
|
||||||
lcdDrawSolidFilledRect(point.x, CURVE_CENTER_Y-CURVE_SIDE_WIDTH, 2, 2*CURVE_SIDE_WIDTH+2, CURVE_CURSOR_COLOR);
|
lcdDrawSolidFilledRect(point.x, CURVE_CENTER_Y-CURVE_SIDE_WIDTH, 2, 2*CURVE_SIDE_WIDTH+2, CURVE_CURSOR_COLOR);
|
||||||
|
|
||||||
char text[5];
|
char text[5];
|
||||||
sprintf(text, "%d", points[i]);
|
strAppendNumber(text, points[i]);
|
||||||
|
|
||||||
if (point.x >= CURVE_CENTER_X) {
|
if (point.x >= CURVE_CENTER_X) {
|
||||||
drawCurveVerticalScale(point.x-15);
|
drawCurveVerticalScale(point.x-15);
|
||||||
|
@ -271,7 +271,7 @@ bool menuModelCurveOne(evt_t event)
|
||||||
|
|
||||||
drawCurvePoint(point.x-3, point.y-4, CURVE_CURSOR_COLOR);
|
drawCurvePoint(point.x-3, point.y-4, CURVE_CURSOR_COLOR);
|
||||||
|
|
||||||
sprintf(text, "%d", x);
|
strAppendNumber(text, x);
|
||||||
drawCurveCoord(limit(CURVE_CENTER_X-CURVE_SIDE_WIDTH-1, point.x-CURVE_COORD_WIDTH/2, CURVE_CENTER_X+CURVE_SIDE_WIDTH-CURVE_COORD_WIDTH+1), CURVE_CENTER_Y+CURVE_SIDE_WIDTH+2, text, selectionMode==1);
|
drawCurveCoord(limit(CURVE_CENTER_X-CURVE_SIDE_WIDTH-1, point.x-CURVE_COORD_WIDTH/2, CURVE_CENTER_X+CURVE_SIDE_WIDTH-CURVE_COORD_WIDTH+1), CURVE_CENTER_Y+CURVE_SIDE_WIDTH+2, text, selectionMode==1);
|
||||||
|
|
||||||
if (s_editMode > 0) {
|
if (s_editMode > 0) {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* Copyright (C) OpenTX
|
* Copyright (C) OpenTX
|
||||||
*
|
*
|
||||||
* Based on code named
|
* Based on code named
|
||||||
* th9x - http://code.google.com/p/th9x
|
* th9x - http://code.google.com/p/th9x
|
||||||
* er9x - http://code.google.com/p/er9x
|
* er9x - http://code.google.com/p/er9x
|
||||||
* gruvin9x - http://code.google.com/p/gruvin9x
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||||
*
|
*
|
||||||
|
@ -190,17 +190,17 @@ bool menuModelExpoOne(evt_t event)
|
||||||
char texty[5];
|
char texty[5];
|
||||||
int x = getValue(ed->srcRaw);
|
int x = getValue(ed->srcRaw);
|
||||||
if (ed->srcRaw >= MIXSRC_FIRST_TELEM) {
|
if (ed->srcRaw >= MIXSRC_FIRST_TELEM) {
|
||||||
sprintf(textx, "%d", calcRESXto100(x));
|
strAppendNumber(textx, calcRESXto100(x));
|
||||||
// TODO putsTelemetryChannelValue(LCD_W-8, 6*FH, ed->srcRaw - MIXSRC_FIRST_TELEM, x);
|
// TODO putsTelemetryChannelValue(LCD_W-8, 6*FH, ed->srcRaw - MIXSRC_FIRST_TELEM, x);
|
||||||
if (ed->scale > 0) x = (x * 1024) / convertTelemValue(ed->srcRaw - MIXSRC_FIRST_TELEM + 1, ed->scale);
|
if (ed->scale > 0) x = (x * 1024) / convertTelemValue(ed->srcRaw - MIXSRC_FIRST_TELEM + 1, ed->scale);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sprintf(textx, "%d", calcRESXto100(x));
|
strAppendNumber(textx, calcRESXto100(x));
|
||||||
}
|
}
|
||||||
|
|
||||||
x = limit(-1024, x, 1024);
|
x = limit(-1024, x, 1024);
|
||||||
int y = limit<int>(-1024, expoFn(x), 1024);
|
int y = limit<int>(-1024, expoFn(x), 1024);
|
||||||
sprintf(texty, "%d", calcRESXto100(y));
|
strAppendNumber(texty, calcRESXto100(y));
|
||||||
|
|
||||||
x = divRoundClosest(x*CURVE_SIDE_WIDTH, RESX);
|
x = divRoundClosest(x*CURVE_SIDE_WIDTH, RESX);
|
||||||
y = CURVE_CENTER_Y + getCurveYCoord(expoFn, x, CURVE_SIDE_WIDTH);
|
y = CURVE_CENTER_Y + getCurveYCoord(expoFn, x, CURVE_SIDE_WIDTH);
|
||||||
|
@ -569,4 +569,3 @@ bool menuModelExposAll(evt_t event)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* Copyright (C) OpenTX
|
* Copyright (C) OpenTX
|
||||||
*
|
*
|
||||||
* Based on code named
|
* Based on code named
|
||||||
* th9x - http://code.google.com/p/th9x
|
* th9x - http://code.google.com/p/th9x
|
||||||
* er9x - http://code.google.com/p/er9x
|
* er9x - http://code.google.com/p/er9x
|
||||||
* gruvin9x - http://code.google.com/p/gruvin9x
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||||
*
|
*
|
||||||
|
@ -94,7 +94,7 @@ int findNextFileIndex(char * filename, const char * directory)
|
||||||
char extension[LEN_FILE_EXTENSION+1];
|
char extension[LEN_FILE_EXTENSION+1];
|
||||||
strncpy(extension, getFileExtension(filename), sizeof(extension));
|
strncpy(extension, getFileExtension(filename), sizeof(extension));
|
||||||
do {
|
do {
|
||||||
char * pos = strAppendNumber(indexPos, ++index);
|
char * pos = strAppendNumber(indexPos, ++index, 2);
|
||||||
strAppend(pos, extension);
|
strAppend(pos, extension);
|
||||||
if (!isFileAvailable(filename, directory)) {
|
if (!isFileAvailable(filename, directory)) {
|
||||||
return index;
|
return index;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* Copyright (C) OpenTX
|
* Copyright (C) OpenTX
|
||||||
*
|
*
|
||||||
* Based on code named
|
* Based on code named
|
||||||
* th9x - http://code.google.com/p/th9x
|
* th9x - http://code.google.com/p/th9x
|
||||||
* er9x - http://code.google.com/p/er9x
|
* er9x - http://code.google.com/p/er9x
|
||||||
* gruvin9x - http://code.google.com/p/gruvin9x
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||||
*
|
*
|
||||||
|
@ -110,7 +110,7 @@ uint8_t zlen(const char * str, uint8_t size)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *strcat_zchar(char * dest, const char * name, uint8_t size, const char *defaultName, uint8_t defaultNameSize, uint8_t defaultIdx)
|
char * strcat_zchar(char * dest, const char * name, uint8_t size, const char * defaultName, uint8_t defaultNameSize, uint8_t defaultIdx)
|
||||||
{
|
{
|
||||||
int8_t len = 0;
|
int8_t len = 0;
|
||||||
|
|
||||||
|
@ -145,13 +145,23 @@ char *strcat_zchar(char * dest, const char * name, uint8_t size, const char *def
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char * strAppendNumber(char * dest, unsigned int value)
|
char * strAppendNumber(char * dest, unsigned int value, uint8_t digits, uint8_t radix)
|
||||||
{
|
{
|
||||||
div_t qr = div(value, 10);
|
if (digits == 0) {
|
||||||
*dest++ = '0' + qr.quot;
|
unsigned int tmp = value;
|
||||||
*dest++ = '0' + qr.rem;
|
digits = 1;
|
||||||
*dest = '\0';
|
while (tmp >= 10) {
|
||||||
return dest;
|
++digits;
|
||||||
|
tmp /= radix;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dest[digits] = '\0';
|
||||||
|
while(digits > 0) {
|
||||||
|
div_t qr = div(value, radix);
|
||||||
|
dest[--digits] = (qr.rem >= 10 ? 'A' : '0') + qr.rem;
|
||||||
|
value = qr.quot;
|
||||||
|
}
|
||||||
|
return dest + digits;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CPUARM) || defined(SDCARD)
|
#if defined(CPUARM) || defined(SDCARD)
|
||||||
|
@ -174,7 +184,7 @@ char * strSetCursor(char * dest, int position)
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
|
||||||
char * strAppendFilename(char *dest, const char *filename, const int size)
|
char * strAppendFilename(char * dest, const char * filename, const int size)
|
||||||
{
|
{
|
||||||
memset(dest, 0, size);
|
memset(dest, 0, size);
|
||||||
for (int i=0; i<size; i++) {
|
for (int i=0; i<size; i++) {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* Copyright (C) OpenTX
|
* Copyright (C) OpenTX
|
||||||
*
|
*
|
||||||
* Based on code named
|
* Based on code named
|
||||||
* th9x - http://code.google.com/p/th9x
|
* th9x - http://code.google.com/p/th9x
|
||||||
* er9x - http://code.google.com/p/er9x
|
* er9x - http://code.google.com/p/er9x
|
||||||
* gruvin9x - http://code.google.com/p/gruvin9x
|
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||||
*
|
*
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char * strAppend(char * dest, const char * source, int len=0);
|
char * strAppend(char * dest, const char * source, int len=0);
|
||||||
char * strAppendNumber(char * dest, unsigned int number);
|
char * strAppendNumber(char * dest, unsigned int value, uint8_t digits=0, uint8_t radix=10);
|
||||||
char * strSetCursor(char * dest, int position);
|
char * strSetCursor(char * dest, int position);
|
||||||
char * strAppendDate(char * str, bool time=false);
|
char * strAppendDate(char * str, bool time=false);
|
||||||
char * strAppendFilename(char * dest, const char * filename, const int size);
|
char * strAppendFilename(char * dest, const char * filename, const int size);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue