Exemplo n.º 1
0
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
}
Exemplo n.º 2
0
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
}