 d1ad924216
			
		
	
	
		d1ad924216
		
			
		
	
	
	
	
		
			
			* [AVR_ISP]: add AVR ISP Programmer FAP * [AVR_ISP]: add auto detect AVR chip * [AVR_ISP]: fix auto detect chip * [AVR_ISP]: fix fast write flash * AVR_ISP: auto set SPI speed * AVR_ISP: add clock 4Mhz on &gpio_ext_pa4 * AVR_ISP: fix "[CRASH][ISR 4] NULL pointer dereference" with no AVR chip connected * AVR_ISP: add AVR ISP Reader * AVR_ISP: add read and check I32HEX file * AVR_ISP: add write eerom, flash, fuse, lock byte * AVR_ISP: add gui Reader, Writer * Github: unshallow on decontamination * AVR_ISP: move to external * API: fix api_symbols * AVR_ISP: add wiring scene * GUI: model mutex FuriMutexTypeNormal -> FuriMutexTypeRecursive * AVR_ISP: add chip_detect view * AVR_ISP: refactoring gui ISP Programmer * AVR_ISP: add gui "Dump AVR" * AVR_ISP: add gui "Flash AVR" * AVR_ISP: fix navigation gui * GUI: model mutex FuriMutexTypeRecursive -> FuriMutexTypeNormal * AVR_ISP: fix conflicts * AVR_ISP: fix build * AVR_ISP: delete images * AVR_ISP: add images * AVR_ISP: fix gui * AVR_ISP: fix stuck in navigation * AVR_ISP: changing the Fuse bit recording logic * AVR_ISP: fix read/write chips with memory greater than 64Kb * AVR_ISP: fix auto set speed SPI * AVR_ISP: fix gui * ISP: switching on +5 volts to an external GPIO Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "helpers/avr_isp_types.h"
 | |
| #include <avr_isp_icons.h>
 | |
| 
 | |
| #include "scenes/avr_isp_scene.h"
 | |
| #include <gui/gui.h>
 | |
| #include <gui/view_dispatcher.h>
 | |
| #include <gui/scene_manager.h>
 | |
| #include <gui/modules/submenu.h>
 | |
| #include <gui/modules/widget.h>
 | |
| #include <notification/notification_messages.h>
 | |
| #include <gui/modules/text_input.h>
 | |
| #include <dialogs/dialogs.h>
 | |
| #include <storage/storage.h>
 | |
| #include <gui/modules/popup.h>
 | |
| 
 | |
| #include "views/avr_isp_view_programmer.h"
 | |
| #include "views/avr_isp_view_reader.h"
 | |
| #include "views/avr_isp_view_writer.h"
 | |
| #include "views/avr_isp_view_chip_detect.h"
 | |
| 
 | |
| #define AVR_ISP_MAX_LEN_NAME 64
 | |
| 
 | |
| typedef struct {
 | |
|     Gui* gui;
 | |
|     ViewDispatcher* view_dispatcher;
 | |
|     SceneManager* scene_manager;
 | |
|     NotificationApp* notifications;
 | |
|     DialogsApp* dialogs;
 | |
|     Popup* popup;
 | |
|     Submenu* submenu;
 | |
|     Widget* widget;
 | |
|     TextInput* text_input;
 | |
|     FuriString* file_path;
 | |
|     char file_name_tmp[AVR_ISP_MAX_LEN_NAME];
 | |
|     AvrIspProgrammerView* avr_isp_programmer_view;
 | |
|     AvrIspReaderView* avr_isp_reader_view;
 | |
|     AvrIspWriterView* avr_isp_writer_view;
 | |
|     AvrIspChipDetectView* avr_isp_chip_detect_view;
 | |
|     AvrIspError error;
 | |
| } AvrIspApp;
 | |
| 
 | |
| bool avr_isp_load_from_file(AvrIspApp* app); |