Exemple #1
0
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
}
Exemple #2
0
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);
}
Exemple #3
0
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
}
Exemple #4
0
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
}
Exemple #5
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
}
Exemple #6
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
}
Exemple #7
0
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
}