void    search_jap(void) //JAP
{
	static u16	result;
	u16		*id;
	char		id_str[5];
	int		i;

	if (is_pressed(BUTTON_L + BUTTON_DU))
	{
		id = (u16 *)0x16FE3C60;
		for (i = 0; i < 4; i++)
			id_str[i] = (char)READU8(id + i);
		result = (u16)strtoul(id_str, NULL, 16);
		reset_search();
		add_search_replace(result, 0x9999);
		find_and_replace_multiple((void *)0x1609D158, 0x5000);
		find_and_replace_multiple((void *)0x160B9B28, 0x1000);
	}
	if (is_pressed(BUTTON_L + BUTTON_DD))
	{
		id = (u16 *)0x16FE3C60;
		for (i = 0; i < 4; i++)
			id_str[i] = (char)READU8(id + i);
		result = (u16)strtoul(id_str, NULL, 16);
		reset_search();
		add_search_replace(0x9999, result);
		find_and_replace_multiple((void *)0x1609D158, 0x5000);
		find_and_replace_multiple((void *)0x160B9B28, 0x1000);
	}
}
//------------------------------------------
// List DS18X20 sensor ROMCode and return it in JSON list
String DS18B20Bus::GetRomCodeListJSON() {

  bool first = true;
  uint8_t romCode[8];

  //prepare JSON structure
  String grclJSON(F("{\"TemperatureSensorList\": [\r\n"));

  reset_search();

  while (search(romCode)) {

    //if ROM received is incorrect or not a Temperature sensor THEN continue to next device
    if ((crc8(romCode, 7) != romCode[7]) || (romCode[0] != 0x10 && romCode[0] != 0x22 && romCode[0] != 0x28)) continue;

    //increase grclJSON size to limit heap fragment
    grclJSON.reserve(grclJSON.length() + 22);

    //populate JSON answer with romCode found
    if (!first) grclJSON += F(",\r\n");
    else first = false;
    grclJSON += '"';
    for (byte i = 0; i < 8; i++) {
      if (romCode[i] < 16)grclJSON += '0';
      grclJSON += String(romCode[i], HEX);
    }
    grclJSON += '"';
  }
  //Finalize JSON structure
  grclJSON += F("\r\n]}");

  return grclJSON;
}
Exemple #3
0
void    tree(void)
{
    if (is_pressed(BUTTON_X))
    {
        reset_search();
        add_search_replace(0x003A, 0x003E);
        add_search_replace(0x003F, 0x0043);
        add_search_replace(0x0044, 0x0048);
        add_search_replace(0x0049, 0x004D);
        add_search_replace(0x004E, 0x0052);
        add_search_replace(0x0022, 0x0026);
        add_search_replace(0x0027, 0x002B);
        add_search_replace(0x002C, 0x0030);
        add_search_replace(0x0031, 0x0035);
        add_search_replace(0x0036, 0x0039);
        add_search_replace(0x0053, 0x0057);
        add_search_replace(0x0058, 0x005C);
        add_search_replace(0x005D, 0x0061);
        add_search_replace(0x0062, 0x0066);
        add_search_replace(0x0067, 0x006B);
        add_search_replace(0x006C, 0x0043);
        find_and_replace_multiple((void *)g_town_items, 0x5000);
        find_and_replace_multiple((void *)g_island_items, 0x1000);
    }
}
void    seed_jap(void) //JAP
{
	u16        result;

	if (is_pressed(BUTTON_R + BUTTON_DD))
	{
		u16        *id = (u16 *)0x16FE3C60;
		char    id_str[5] = { 0 };
		int        i;
		for (i = 0; i < 4; i++)
			id_str[i] = (char)READU16(id + i);
		result = (u16)strtoul(id_str, NULL, 16);
		reset_search();
		add_search_replace(0x20A7, result);
		find_and_replace_multiple((void *)0x1609D158, 0x5000);
		find_and_replace_multiple((void *)0x160B9B28, 0x1000);
		wait_all_released();
	}
	if (is_pressed(BUTTON_R + BUTTON_DU))
	{
		u16        *id = (u16 *)0x16FE3C60;
		char    id_str[5] = { 0 };
		int        i;
		for (i = 0; i < 4; i++)
			id_str[i] = (char)READU16(id + i);
		result = (u16)strtoul(id_str, NULL, 16);
		reset_search();
		add_search_replace(result, 0x7FFE);
		find_and_replace_multiple((void *)0x1609D158, 0x5000);
		find_and_replace_multiple((void *)0x160B9B28, 0x1000);
		wait_all_released();
	}
	if (is_pressed(BUTTON_R + BUTTON_DL))
	{
		u16        *id = (u16 *)0x16FE3C60;
		char    id_str[5] = { 0 };
		int        i;
		for (i = 0; i < 4; i++)
			id_str[i] = (char)READU16(id + i);
		result = (u16)strtoul(id_str, NULL, 16);
		reset_search();
		add_search_replace(result, 0x20A7);
		find_and_replace_multiple((void *)0x1609D158, 0x5000);
		find_and_replace_multiple((void *)0x160B9B28, 0x1000);
		wait_all_released();
	}
}
Exemple #5
0
void    search(void)
{
    int     search;
    int     replace;

    if (is_pressed(BUTTON_L + BUTTON_DL))
    {
        get_input_id(&search, &replace);
        reset_search();
        add_search_replace(search, replace);
        find_and_replace_multiple((void *)g_town_items, 0x5000);
        find_and_replace_multiple((void *)g_island_items, 0x1000);
    }
}
Exemple #6
0
void    weeder(void)
{
    if (is_pressed(BUTTON_R + BUTTON_A))
    {
        reset_search();
        add_search_replace(0x0000007C, 0x00007FFE);
        add_search_replace(0x0000007D, 0x00007FFE);
        add_search_replace(0x0000007E, 0x00007FFE);
        add_search_replace(0x0000007F, 0x00007FFE);
        add_search_replace(0x000000CB, 0x00007FFE);
        add_search_replace(0x000000CC, 0x00007FFE);
        add_search_replace(0x000000CD, 0x00007FFE);
        add_search_replace(0x000000F8, 0x00007FFE);
        find_and_replace_multiple((void *)g_town_items, 0x5000);
        wait_all_released();
    }
}