| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #include "../avr_isp_app_i.h"
- #include "../helpers/avr_isp_types.h"
- void avr_isp_scene_about_widget_callback(GuiButtonType result, InputType type, void* context) {
- furi_assert(context);
- AvrIspApp* app = context;
- if(type == InputTypeShort) {
- view_dispatcher_send_custom_event(app->view_dispatcher, result);
- }
- }
- void avr_isp_scene_about_on_enter(void* context) {
- furi_assert(context);
- AvrIspApp* app = context;
- FuriString* temp_str = furi_string_alloc();
- furi_string_printf(temp_str, "\e#%s\n", "Information");
- furi_string_cat_printf(temp_str, "Version: %s\n", AVR_ISP_VERSION_APP);
- furi_string_cat_printf(temp_str, "Developed by: %s\n", AVR_ISP_DEVELOPED);
- furi_string_cat_printf(temp_str, "Github: %s\n\n", AVR_ISP_GITHUB);
- furi_string_cat_printf(temp_str, "\e#%s\n", "Description");
- furi_string_cat_printf(
- temp_str,
- "This application is an AVR in-system programmer based on stk500mk1. It is compatible with AVR-based"
- " microcontrollers including Arduino. You can also use it to repair the chip if you accidentally"
- " corrupt the bootloader.\n\n");
- furi_string_cat_printf(temp_str, "\e#%s\n", "What it can do:");
- furi_string_cat_printf(temp_str, "- Create a dump of your chip on an SD card\n");
- furi_string_cat_printf(temp_str, "- Flash your chip firmware from the SD card\n");
- furi_string_cat_printf(temp_str, "- Act as a wired USB ISP using avrdude software\n\n");
- furi_string_cat_printf(temp_str, "\e#%s\n", "Supported chip series:");
- furi_string_cat_printf(
- temp_str,
- "Example command for avrdude flashing: avrdude.exe -p m328p -c stk500v1 -P COMxx -U flash:r:"
- "X:\\sketch_sample.hex"
- ":i\n");
- furi_string_cat_printf(
- temp_str,
- "Where: "
- "-p m328p"
- " brand of your chip, "
- "-P COMxx"
- " com port number in the system when "
- "ISP Programmer"
- " is enabled\n\n");
- furi_string_cat_printf(temp_str, "\e#%s\n", "Info");
- furi_string_cat_printf(
- temp_str,
- "ATtinyXXXX\nATmegaXXXX\nAT43Uxxx\nAT76C711\nAT86RF401\nAT90xxxxx\nAT94K\n"
- "ATAxxxxx\nATA664251\nM3000\nLGT8F88P\nLGT8F168P\nLGT8F328P\n");
- furi_string_cat_printf(
- temp_str, "For a more detailed list of supported chips, see AVRDude help\n");
- widget_add_text_box_element(
- app->widget,
- 0,
- 0,
- 128,
- 14,
- AlignCenter,
- AlignBottom,
- "\e#\e! \e!\n",
- false);
- widget_add_text_box_element(
- app->widget,
- 0,
- 2,
- 128,
- 14,
- AlignCenter,
- AlignBottom,
- "\e#\e! ISP Programmer \e!\n",
- false);
- widget_add_text_scroll_element(app->widget, 0, 16, 128, 50, furi_string_get_cstr(temp_str));
- furi_string_free(temp_str);
- view_dispatcher_switch_to_view(app->view_dispatcher, AvrIspViewWidget);
- }
- bool avr_isp_scene_about_on_event(void* context, SceneManagerEvent event) {
- UNUSED(context);
- UNUSED(event);
- return false;
- }
- void avr_isp_scene_about_on_exit(void* context) {
- furi_assert(context);
- AvrIspApp* app = context;
- // Clear views
- widget_reset(app->widget);
- }
|