January 26, 2021, 04:48:12 AM

Author Topic: [bb] AVRDude Assistant by superStruct [ 1+ years ago ]  (Read 512 times)

Offline BlitzBot

  • Jr. Member
  • **
  • Posts: 1
[bb] AVRDude Assistant by superStruct [ 1+ years ago ]
« on: June 29, 2017, 12:28:42 AM »
Title : AVRDude Assistant
Author : superStruct
Posted : 1+ years ago

Description : Generates the DOS code for AVRDude. Includes all accepted AVR chips and programmers for AVRDude.

Code :
Code: BlitzBasic
  1. ;GUIde 1.4 BlitzPlus export
  2. ;V1.0 AVRDude Assistant
  3. ;6/15/2011
  4. ;Version 1.0
  5. AppTitle "AVRDude Assistant"
  6.  
  7. Global w_main
  8. Global cb_partnum
  9. Global cb_programmer
  10. Global lb_partnum
  11. Global lb_programmer
  12. Global chb_advanced
  13. Global lb_baudrate
  14. Global tf_baudrate
  15. Global tf_bitrate
  16. Global lb_bitrate
  17. Global cb_port
  18. Global lb_port
  19. Global tf_port
  20. Global chb_preprogram
  21. Global bt_finishup
  22.  
  23. Global w_download
  24. Global chb_config
  25. Global tf_inoutfile
  26. Global lb_inout
  27. Global bt_inoutbrowse
  28. Global tf_config
  29. Global bt_configbrowse
  30. Global cb_memory
  31. Global cb_action
  32. Global lb_memory
  33. Global lb_action
  34. Global bt_finish
  35. Global chb_erase
  36.  
  37. Global inputFile$
  38. Global configFile$
  39. Global batchFile
  40.  
  41. Global command$
  42.  
  43. w_main=CreateWindow("AVRDude Assistant",0,00,475,325,0,1)
  44.         cb_partnum=CreateComboBox(24,32,125,20,w_main)
  45.                 SetGadgetLayout cb_partnum,1,0,1,0
  46.         cb_programmer=CreateComboBox(208,32,250,20,w_main)
  47.                 SetGadgetLayout cb_programmer,1,0,1,0
  48.         lb_partnum=CreateLabel("Part Number",24,16,64,16,w_main,0)
  49.                 SetGadgetLayout lb_partnum,1,0,1,0
  50.         lb_programmer=CreateLabel("Programmer",208,16,64,16,w_main,0)
  51.                 SetGadgetLayout lb_programmer,1,0,1,0
  52.         chb_advanced=CreateButton("Advanced",24,96,96,16,w_main,2)
  53.                 SetGadgetLayout chb_advanced,1,0,1,0
  54.         lb_baudrate=CreateLabel("Baudrate",24,128,64,16,w_main,0)
  55.                 SetGadgetLayout lb_baudrate,1,0,1,0
  56.                 DisableGadget lb_baudrate
  57.         tf_baudrate=CreateTextField(24,144,64,20,w_main)
  58.                 SetGadgetLayout tf_baudrate,1,0,1,0
  59.                 DisableGadget tf_baudrate
  60.         tf_bitrate=CreateTextField(128,144,64,20,w_main)
  61.                 SetGadgetLayout tf_bitrate,1,0,1,0
  62.                 DisableGadget tf_bitrate
  63.         lb_bitrate=CreateLabel("Bitrate",128,128,64,16,w_main,0)
  64.                 SetGadgetLayout lb_bitrate,1,0,1,0
  65.                 DisableGadget lb_bitrate
  66.         cb_port=CreateComboBox(248,144,96,20,w_main)
  67.                 SetGadgetLayout cb_port,1,0,1,0
  68.                 DisableGadget cb_port
  69.         lb_port=CreateLabel("Port",248,128,64,16,w_main,0)
  70.                 SetGadgetLayout lb_port,1,0,1,0
  71.                 DisableGadget lb_port
  72.         tf_port=CreateTextField(352,144,60,20,w_main)
  73.                 SetGadgetLayout tf_port,1,0,1,0
  74.                 DisableGadget tf_port
  75.         chb_preprogram=CreateButton("Preserve Program",24,176,102,16,w_main,2)
  76.                 SetGadgetLayout chb_preprogram,1,0,1,0
  77.                 DisableGadget chb_preprogram
  78.         bt_finishup=CreateButton("Finish Up",144,224,150,50,w_main,1)
  79.                 SetGadgetLayout bt_finishup,1,0,1,0
  80.                
  81. w_download=CreateWindow("Last Step",0,024,328,348,w_main,17)
  82.         HideGadget(w_download)
  83.         chb_config=CreateButton("Config File",16,72,96,16,w_download,2)
  84.                 SetGadgetLayout chb_config,1,0,1,0
  85.         tf_inoutfile=CreateTextField(16,24,200,25,w_download)
  86.                 SetGadgetLayout tf_inoutfile,0,0,0,0
  87.         lb_inout=CreateLabel("File",16,8,144,16,w_download,0)
  88.                 SetGadgetLayout lb_inout,1,0,1,0
  89.         bt_inoutbrowse=CreateButton("Browse",224,24,64,24,w_download,1)
  90.                 SetGadgetLayout bt_inoutbrowse,1,0,1,0
  91.         tf_config=CreateTextField(16,96,200,25,w_download)
  92.                 SetGadgetLayout tf_config,1,0,1,0
  93.                 DisableGadget tf_config
  94.         bt_configbrowse=CreateButton("Browse",224,96,64,24,w_download,1)
  95.                 SetGadgetLayout bt_configbrowse,1,0,1,0
  96.                 DisableGadget bt_configbrowse
  97.         cb_memory=CreateComboBox(16,175,120,20,w_download)
  98.                 SetGadgetLayout cb_memory,1,0,1,0
  99.         cb_action=CreateComboBox(160,175,120,20,w_download)
  100.                 SetGadgetLayout cb_action,1,0,1,0
  101.         lb_memory=CreateLabel("Memory",16,159,64,16,w_download,0)
  102.                 SetGadgetLayout lb_memory,1,0,1,0
  103.         lb_action=CreateLabel("Action",160,159,64,16,w_download,0)
  104.                 SetGadgetLayout lb_action,1,0,1,0
  105.         bt_finish=CreateButton("Program",24,216,264,64,w_download,1)
  106.                 SetGadgetLayout bt_finish,1,0,1,0
  107.         chb_erase = CreateButton("Erase Chip",75,140,96,16,w_download,2)
  108.                 SetGadgetLayout chb_erase,1,0,1,0
  109.  
  110. Include "guidef.lib"
  111.  
  112. ;-mainloop--------------------------------------------------------------
  113.  
  114. Repeat
  115.         id=WaitEvent()
  116.         Select id
  117.                 Case $401                                                                       ; interacted with gadget
  118.                         DoGadgetAction( EventSource() )
  119.                 Case $803                                                                       ; close gadget
  120.                         If(EventSource() = w_main)
  121.                                 Exit
  122.                         ElseIf EventSource() = w_download
  123.                                 HideGadget(w_download)
  124.                         EndIf
  125.         End Select
  126. Forever
  127.  
  128.  
  129. ;-gadget actions--------------------------------------------------------
  130.  
  131. Function DoGadgetAction( gadget )
  132.         Select gadget
  133.                 Case cb_partnum
  134.                         ; insert your action for cb_partnum here
  135.  
  136.                 Case cb_programmer
  137.                         ; insert your action for cb_programmer here
  138.  
  139.                 Case chb_advanced       ; user changed checkbox
  140.                         If ButtonState(chb_advanced)
  141.                                 EnableGadget(lb_baudrate)
  142.                                 EnableGadget(lb_bitrate)
  143.                                 EnableGadget(tf_baudrate)
  144.                                 EnableGadget(tf_bitrate)
  145.                                 EnableGadget(chb_preprogram)
  146.                                 EnableGadget(lb_port)
  147.                                 EnableGadget(cb_port)
  148.                                 EnableGadget(tf_port)
  149.                         Else
  150.                                 DisableGadget(lb_baudrate)
  151.                                 DisableGadget(lb_bitrate)
  152.                                 DisableGadget(tf_baudrate)
  153.                                 DisableGadget(tf_bitrate)
  154.                                 DisableGadget(chb_preprogram)
  155.                                 DisableGadget(lb_port)
  156.                                 DisableGadget(cb_port)
  157.                                 DisableGadget(tf_port)                         
  158.                         EndIf          
  159.  
  160.                 Case tf_baudrate
  161.                         If EventData() = 13 Then        ; user pressed return in textfield
  162.                         EndIf
  163.  
  164.                 Case tf_bitrate
  165.                         If EventData() = 13 Then        ; user pressed return in textfield
  166.                         EndIf
  167.  
  168.                 Case cb_port
  169.                         ; insert your action for cb_port here
  170.  
  171.                 Case tf_port
  172.                         If EventData() = 13 Then        ; user pressed return in textfield
  173.                         EndIf
  174.  
  175.                 Case chb_preprogram     ; user changed checkbox
  176.  
  177.                 Case bt_finishup        ; user pressed button
  178.                         ShowGadget(w_download)
  179.  
  180. ;----------------------------------------------------------------------------------------------;Finish Up Window
  181.  
  182.                 Case chb_config ; user changed checkbox
  183.                         If ButtonState(chb_config)
  184.                                 EnableGadget(tf_config)
  185.                                 EnableGadget(bt_configbrowse)
  186.                         Else
  187.                                 DisableGadget(tf_config)
  188.                                 DisableGadget(bt_configbrowse)                 
  189.                         EndIf
  190.  
  191.                 Case tf_inoutfile
  192.                         If EventData() = 13 Then        ; user pressed return in textfield
  193.                         EndIf
  194.  
  195.                 Case bt_inoutbrowse     ; user pressed button
  196.                         inputFile = RequestFile("Select a file...","*hex,eep",False," ")
  197.                         SetGadgetText(tf_inoutfile, inputFile)
  198.                         inputFile = Right(inputFile,Len(inputFile) - 2)        
  199.  
  200.                 Case tf_config
  201.                         If EventData() = 13 Then        ; user pressed return in textfield
  202.                         EndIf
  203.  
  204.                 Case bt_configbrowse    ; user pressed button
  205.  
  206.                 Case cb_memory
  207.                         ; insert your action for cb_memory here
  208.                         If SelectedGadgetItem(cb_memory) = 2 Or SelectedGadgetItem(cb_memory) = 3 Or SelectedGadgetItem(cb_memory) = 4 And SelectedGadgetItem(cb_action) <> 1
  209.                                 DisableGadget(bt_inoutbrowse)
  210.                         Else
  211.                                 EnableGadget(bt_inoutbrowse)
  212.                         EndIf
  213.  
  214.                 Case cb_action
  215.                         ; insert your action for cb_action here
  216.                         If SelectedGadgetItem(cb_memory) = 2 Or SelectedGadgetItem(cb_memory) = 3 Or SelectedGadgetItem(cb_memory) = 4 And SelectedGadgetItem(cb_action) <> 1
  217.                                 DisableGadget(bt_inoutbrowse)
  218.                         Else
  219.                                 EnableGadget(bt_inoutbrowse)
  220.                         EndIf                  
  221.                        
  222.                 Case bt_finish  ; user pressed button                  
  223.                         batchFile = WriteFile("avrdude.bat")
  224.                         WriteLine(batchFile, "cd C:")
  225.                         command = ("avrdude -p " + partnum(SelectedGadgetItem(cb_partnum)))
  226.                         If ButtonState(chb_advanced)
  227.                                 If TextFieldText(tf_baudrate) <> ""
  228.                                         command = command + " -b " + TextFieldText(tf_baudrate)
  229.                                 EndIf
  230.                                
  231.                                 If TextFieldText(tf_bitrate) <> ""
  232.                                         command = command + " -B " + TextFieldText(tf_bitrate)
  233.                                 EndIf
  234.                         EndIf
  235.                        
  236.                         If ButtonState(chb_config)
  237.                                 command = command + " -C " + configFile
  238.                         EndIf
  239.                        
  240.                         command = command + " -c " + programmer(SelectedGadgetItem(cb_programmer))
  241.                        
  242.                         If ButtonState(chb_advanced)
  243.                                 command = command + " -P " + port(SelectedGadgetItem(cb_port)) + TextFieldText(tf_port)
  244.                         EndIf
  245.                        
  246.                         If ButtonState(chb_erase)
  247.                                 command = command + " -e "
  248.                         Else
  249.                                 command = command + " -U " + memory(SelectedGadgetItem(cb_memory)) + ":" + action(SelectedGadgetItem(cb_action)) + ":"
  250.                                
  251.                                 If SelectedGadgetItem(cb_memory) = 2 Or SelectedGadgetItem(cb_memory) = 3 Or SelectedGadgetItem(cb_memory) = 4 And SelectedGadgetItem(cb_action) <> 1
  252.                                         command = command + TextFieldText(tf_inoutfile) + ":m"
  253.                                 ElseIf SelectedGadgetItem(cb_memory) = 2 Or SelectedGadgetItem(cb_memory) = 3 Or SelectedGadgetItem(cb_memory) = 4 And SelectedGadgetItem(cb_action) = 1
  254.                                         command = command + inputFile + ":i"
  255.                                 Else
  256.                                         command = command + inputFile
  257.                                 EndIf
  258.                         EndIf
  259.                        
  260.                         WriteLine(batchFile,command)
  261.                         WriteLine(batchFile,"pause")
  262.                         CloseFile(batchFile)
  263.                        
  264.                         Notify "Make sure your programmer, and board are connected and powered."
  265.                        
  266.                         ExecFile("avrdude.bat")
  267.                        
  268.                         HideGadget(w_download)
  269.                        
  270.                 Case chb_erase
  271.                         If ButtonState(chb_erase)
  272.                                 DisableGadget(lb_memory)
  273.                                 DisableGadget(lb_action)
  274.                                 DisableGadget(cb_memory)
  275.                                 DisableGadget(cb_action)
  276.                                 DisableGadget(tf_inoutfile)
  277.                                 DisableGadget(bt_inoutbrowse)
  278.                                 DisableGadget(lb_inout)
  279.                         Else
  280.                                 EnableGadget(lb_memory)
  281.                                 EnableGadget(lb_action)
  282.                                 EnableGadget(cb_memory)
  283.                                 EnableGadget(cb_action)
  284.                                 EnableGadget(tf_inoutfile)
  285.                                 EnableGadget(bt_inoutbrowse)
  286.                                 EnableGadget(lb_inout)                         
  287.                         EndIf
  288.                        
  289.         End Select
  290. End Function


Comments : none...

 

SimplePortal 2.3.6 © 2008-2014, SimplePortal