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 }