Example #1
0
static void m2_el_u32_set_accumulator_by_parent(m2_nav_p nav)
{
  m2_rom_void_p element = m2_nav_get_parent_element(nav);
  if ( m2_rom_get_el_fnptr(element) == m2_el_u32fn_fn )
  {
    m2_u32fn_fnptr fn = (m2_u32fn_fnptr)m2_rom_get_ram_ptr(element, offsetof(m2_el_u32fn_t, u32_callback));
    m2_el_u32_accumulator = fn(element, M2_U32_MSG_GET_VALUE, 0);
  }
  else
  {
    m2_el_u32_accumulator = *(uint32_t *)m2_rom_get_ram_ptr(element, offsetof(m2_el_u32_t, val));
  }
}
Example #2
0
static char *m2_get_char_ptr(m2_nav_p nav)
{
  uint8_t pos;
  char *text;
  
  /* depth is at least 2, because this is a virtual field of a text entry field */
  pos = nav->pos[nav->depth-2];
  
  /* also, the parent must be the text-element */
  text = (char *)m2_rom_get_ram_ptr(m2_nav_get_parent_element(nav), offsetof(m2_el_text_t, text));
  
  /* now the pointer to the char can be calulacted */
  return text + pos;
}
Example #3
0
char *m2_el_strptr_get_str(m2_el_fnarg_p fn_arg)
{
  return *(char **)m2_rom_get_ram_ptr(fn_arg->element, offsetof(m2_el_strptr_t, strptr));
  /*return (char *)m2_get_ae_ptr( &(fn_arg->ae), offsetof(m2_el_str_t, str));*/
}
Example #4
0
static uint8_t m2_el_comboptr_get_len(m2_el_fnarg_p fn_arg)
{
  return *(uint8_t *)m2_rom_get_ram_ptr(fn_arg->element, offsetof(m2_el_comboptr_t, cnt_ptr));
}
Example #5
0
m2_rom_void_p m2_el_align_get_element(m2_el_fnarg_p fn_arg)
{
  return (m2_rom_void_p)m2_rom_get_ram_ptr(fn_arg->element, offsetof(m2_el_align_t, element));
}
Example #6
0
uint8_t *m2_el_u8_get_val_ptr(m2_el_fnarg_p fn_arg)
{
  return (uint8_t *)m2_rom_get_ram_ptr(fn_arg->element, offsetof(m2_el_u8_t, val));
}
Example #7
0
m2_rom_void_p m2_el_root_get_ae(m2_el_fnarg_p fn_arg)
{
  return (m2_rom_void_p)m2_rom_get_ram_ptr(fn_arg->element, offsetof(m2_el_root_t, element));
}
Example #8
0
m2_xmenu_entry *m2_el_x2lmenu_get_menu_data_ptr(m2_rom_void_p element)
{
  return (m2_xmenu_entry *)m2_rom_get_ram_ptr(element, offsetof(m2_el_2lmenu_t, menu_entries));
}