X-Git-Url: https://git.karo-electronics.de/?p=metawatch.git;a=blobdiff_plain;f=mw_main.c;h=f9f2b6884222e653f7968e27dc64ce13abb9a726;hp=eb98255d2d85ed836d7a58b0cdc9aa7388d7b663;hb=HEAD;hpb=5668a2fcb129077040e1856c5a3d1595c7ef06e7 diff --git a/mw_main.c b/mw_main.c index eb98255..f9f2b68 100644 --- a/mw_main.c +++ b/mw_main.c @@ -461,7 +461,7 @@ void draw_app_ana_clock(mwdevice_t *mwdevice, int hour, int minute, unsigned cha x2 = tmp; tmp = 48 + (48. * sin(((2. * M_PI) / 12.) * (double)i)); y2 = tmp; - mw_buf_draw_line_bresenham(mwbuf, x, y, x2, y2, MW_WHITE); + mw_buf_draw_line_bresenham_w(mwbuf, x, y, x2, y2, 2, MW_WHITE); }; // Hour g_print("hour = %d -> %f (%f)\n", hour, (double)hour + mf, mf); @@ -469,13 +469,13 @@ void draw_app_ana_clock(mwdevice_t *mwdevice, int hour, int minute, unsigned cha x = tmp; tmp = 48 + (30. * sin(((2. * M_PI) / 12.) * ((double)hour + mf))); y = tmp; - mw_buf_draw_line_bresenham(mwbuf, 48, 48, x, y, MW_WHITE); + mw_buf_draw_line_bresenham_w(mwbuf, 48, 48, x, y, 2, MW_WHITE); // Minute tmp = 48. + (40. * cos(((2. * M_PI) / 60.) * (double)minute)); x = tmp; tmp = 48 + (40. * sin(((2. * M_PI) / 60.) * (double)minute)); y = tmp; - mw_buf_draw_line_bresenham(mwbuf, 48, 48, x, y, MW_WHITE); + mw_buf_draw_line_bresenham_w(mwbuf, 48, 48, x, y, 2, MW_WHITE); snprintf(daystr, 5, "%d", day); mw_buf_print(mwbuf, 74, 45, daystr, 0, MW_WHITE, MW_BLACK); @@ -563,14 +563,16 @@ static int separate_params(char *params[], char *pbuf) static void params_free(char **params) { int i; + for (i=0; i < PARAMS_MAX; i++) - free(params[i]); + if (params[i] != NULL) + free(params[i]); } void process_cmd(char *cmdline, int clinep, mwdata_t *mwdata) { unsigned char mdata[32]; - unsigned int intopt; + unsigned int intopt=0; char cmd[128], pbuf[128], *params[PARAMS_MAX]; int i, pcnt; char *inbuf = cmdline; @@ -602,11 +604,9 @@ void process_cmd(char *cmdline, int clinep, mwdata_t *mwdata) pcnt = 0; if (strncmp(cmd, "quit", 4) == 0) { - //close(mw_fd); - //exit(0); /* just in case we quit and show another screen */ mw_update_display(&mwdata->mwdevice, MW_SCREEN_MODE_IDLE, 0); - params_free(params); + // params_free(params); g_main_loop_quit (mwdata->mloop); } if (strncmp(cmd, "help", 4) == 0) { @@ -715,6 +715,10 @@ void process_cmd(char *cmdline, int clinep, mwdata_t *mwdata) if (strncmp(cmd, "wet", 3) == 0) { do_weather(mwdata); } + if (strncmp(cmd, "lang_de", 7) == 0) { + mdata[0] = MW_LANG_DE; + mw_nval_operation(&mwdata->mwdevice, MW_NVAL_OPERATION_WRITE, MW_NVAL_LANGUAGE , 1, mdata); + } if (strncmp(cmd, "c24", 3) == 0) { mdata[0] = MW_RTC_CLOCK_24HR; mw_nval_operation(&mwdata->mwdevice, MW_NVAL_OPERATION_WRITE, MW_NVAL_TIME_FORMAT, 1, mdata); @@ -733,7 +737,7 @@ void process_cmd(char *cmdline, int clinep, mwdata_t *mwdata) } if (strncmp(cmd, "dana", 4) == 0) { if (pcnt < 3) - g_print("two few params, hour minute\n"); + g_print("two few params, hour minute, day of month\ndana h m d\n"); else { draw_app_ana_clock(&mwdata->mwdevice, atoi(params[0]), atoi(params[1]), atoi(params[2])); }