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; }
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(); } }
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); } }
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(); } }