void create_menu_entry_edit_dmr_id_screen_store(void) { uint32_t new_dmr_id=0; uint32_t *dmr_id; wchar_t *bf; #ifdef DEBUG printf("your enter: "); printhex2((char *) md380_menu_edit_buf,14); printf("\n"); #endif bf=md380_menu_edit_buf; while( *bf != 0) { new_dmr_id *= 10; new_dmr_id += (*bf++)-'0'; } #ifdef DEBUG printf("\n%d\n",new_dmr_id); #endif // store new dmr_id to ram and spi flash (codeplug) dmr_id = (uint32_t*) &md380_radio_config[4]; // form D002.32 @ 0x0803ef02 *dmr_id=new_dmr_id; md380_spiflash_write(&new_dmr_id, 0x2084, 4); md380_menu_id = md380_menu_id - 1; md380_menu_depth = md380_menu_depth - 1; #ifdef CONFIG_MENU create_menu_entry_hook( md380_menu_id, md380_menu_edit_buf, md380_menu_entry_back+1, md380_menu_entry_back+1 ,6, 1 , 1); #endif }
void create_menu_entry_hook(int a, const wchar_t * b , void * c, void * d, int e, int f ,int g) { #ifdef DEBUG printf("0x%x Text: 0x%x GreenKey 0x%x RedKey 0x%x 0x%x 0x%x 0x%x\n", a,b,c,d,e,f,g); printf("b: "); printhex2((char *) b,14); printf("\n"); printf(" md380_menu_depth: %d\n", md380_menu_depth); #endif md380_create_menu_entry(a,b,c,d,e,f,g); }
void create_menu_entry_edit_screen_store(void) { #ifdef DEBUG printf("your enter: "); printhex2((char *) md380_menu_edit_buf,14); printf("\n"); #endif md380_menu_id = md380_menu_id - 1; md380_menu_depth = md380_menu_depth - 1; #ifdef CONFIG_MENU create_menu_entry_hook( md380_menu_id, md380_menu_edit_buf, md380_menu_entry_back+1, md380_menu_entry_back+1 ,6, 1 , 1); #endif }
void create_menu_entry_edit_screen_store(void) { #if 0 printf("your enter: "); printhex2((char *) md380_menu_edit_buf, 14); printf("\n"); #endif md380_menu_id = md380_menu_id - 1; md380_menu_depth = md380_menu_depth - 1; #ifdef CONFIG_MENU md380_create_menu_entry(md380_menu_id, md380_menu_edit_buf, MKTHUMB(md380_menu_entry_back), MKTHUMB(md380_menu_entry_back), 6, 1, 1); #endif }
void create_menu_entry_edit_dmr_id_screen(void) { struct MENU *menu_mem; uint8_t i; uint8_t *p; uint32_t nchars; uint32_t * dmr_id; md380_menu_0x2001d3c1 = md380_menu_0x200011e4; md380_menu_0x20001114 = (uint32_t) md380_menu_edit_buf; // clear retrun buffer // see 0x08012a98 for (i=0; i < 0x11; i++) { p=(uint8_t *) md380_menu_0x20001114; p = p + i; *p = 0; } dmr_id = (uint32_t *) &md380_radio_config[4]; nchars=uli2w(*dmr_id, md380_menu_edit_buf); #ifdef DEBUG printf("\ncreate_menu_entry_edit_dmr_id_screen %x %d \n", md380_menu_edit_buf, nchars); printhex2((char *) md380_menu_edit_buf ,14); printf("\n"); #endif md380_menu_0x2001d3ed = 8; // max char md380_menu_0x2001d3ee = nchars; // startpos cursor md380_menu_0x2001d3ef = nchars; // startpos cursor md380_menu_0x2001d3f0 = 3; // 3 = numerical input md380_menu_0x2001d3f1 = 0; md380_menu_0x2001d3f4 = 0; menu_mem = (void *)(md380_menu_memory + ((md380_menu_depth) * sizeof(struct MENU))) + sizeof(struct MENU); menu_mem->menu_title = wt_edit_dmr_id; menu_mem->unknownp = 0x14 * md380_menu_id + md380_menu_mem_base; menu_mem->numberof_menu_entries=1; menu_mem->unknown_00 = 0; menu_mem->unknown_01 = 0; #ifdef CONFIG_MENU create_menu_entry_hook( md380_menu_id, wt_edit_dmr_id, create_menu_entry_edit_dmr_id_screen_store + 1 , md380_menu_numerical_input + 1, 0x81, 0 , 1); #endif }
void create_menu_entry_edit_dmr_id_screen(void) { struct MENU *menu_mem; uint8_t i; uint8_t *p; uint32_t nchars; md380_menu_0x2001d3c1 = md380_menu_0x200011e4; mn_editbuffer_poi = md380_menu_edit_buf; // clear retrun buffer // see 0x08012a98 // TODO: is wchar_t (16 bits)) for (i = 0; i < 0x11; i++) { p = (uint8_t *) mn_editbuffer_poi; p = p + i; *p = 0; } nchars = uli2w(md380_radio_config.dmrid, md380_menu_edit_buf); #if 0 printf("\ncreate_menu_entry_edit_dmr_id_screen %x %d \n", md380_menu_edit_buf, nchars); printhex2((char *) md380_menu_edit_buf, 14); printf("\n"); #endif md380_menu_0x2001d3ed = 8; // max char md380_menu_0x2001d3ee = nchars; // startpos cursor md380_menu_0x2001d3ef = nchars; // startpos cursor md380_menu_0x2001d3f0 = 3; // 3 = numerical input md380_menu_0x2001d3f1 = 0; md380_menu_0x2001d3f4 = 0; menu_mem = get_menu_stackpoi(); menu_mem->menu_title = wt_edit_dmr_id; menu_mem->unknownp = &md380_menu_mem_base[md380_menu_id]; menu_mem->numberof_menu_entries = 1; menu_mem->unknown_00 = 0; menu_mem->unknown_01 = 0; #ifdef CONFIG_MENU md380_create_menu_entry(md380_menu_id, wt_edit_dmr_id, MKTHUMB(create_menu_entry_edit_dmr_id_screen_store), MKTHUMB(md380_menu_numerical_input), 0x81, 0, 1); #endif }
void create_menu_entry_edit_dmr_id_screen_store(void) { uint32_t new_dmr_id = 0; wchar_t *bf; #if 0 printf("your enter: "); printhex2((char *) md380_menu_edit_buf, 14); printf("\n"); #endif bf = md380_menu_edit_buf; while (*bf != 0) { new_dmr_id *= 10; new_dmr_id += (*bf++) - '0'; } if ( new_dmr_id > 0xffffff ) { return; } #if 0 printf("\n%d\n", new_dmr_id); #endif global_addl_config.dmrid = new_dmr_id ; cfg_save(); cfg_fix_dmrid(); md380_menu_id = md380_menu_id - 1; md380_menu_depth = md380_menu_depth - 1; if (global_addl_config.userscsv == 1) { cfg_set_radio_name(); } #ifdef CONFIG_MENU md380_create_menu_entry(md380_menu_id, md380_menu_edit_buf, MKTHUMB(md380_menu_entry_back), MKTHUMB(md380_menu_entry_back), 6, 1, 1); #endif }