Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
stk500v2.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void stk500v2_initpgm (PROGRAMMER *pgm)
 
void stk500hvsp_initpgm (PROGRAMMER *pgm)
 
void stk500pp_initpgm (PROGRAMMER *pgm)
 
void stk500v2_jtagmkII_initpgm (PROGRAMMER *pgm)
 
void stk500v2_jtag3_initpgm (PROGRAMMER *pgm)
 
void stk500v2_dragon_hvsp_initpgm (PROGRAMMER *pgm)
 
void stk500v2_dragon_isp_initpgm (PROGRAMMER *pgm)
 
void stk500v2_dragon_pp_initpgm (PROGRAMMER *pgm)
 
void stk600_initpgm (PROGRAMMER *pgm)
 
void stk600hvsp_initpgm (PROGRAMMER *pgm)
 
void stk600pp_initpgm (PROGRAMMER *pgm)
 
void stk500v2_setup (PROGRAMMER *pgm)
 
void stk500v2_teardown (PROGRAMMER *pgm)
 
int stk500v2_drain (PROGRAMMER *pgm, int display)
 
int stk500v2_getsync (PROGRAMMER *pgm)
 
void stk500v2_set_upload_size (PROGRAMMER *pgm, int size)
 

Variables

const char stk500v2_desc []
 
const char stk500hvsp_desc []
 
const char stk500pp_desc []
 
const char stk500v2_jtagmkII_desc []
 
const char stk500v2_dragon_hvsp_desc []
 
const char stk500v2_dragon_isp_desc []
 
const char stk500v2_dragon_pp_desc []
 
const char stk500v2_jtag3_desc []
 
const char stk600_desc []
 
const char stk600hvsp_desc []
 
const char stk600pp_desc []
 

Function Documentation

◆ stk500hvsp_initpgm()

void stk500hvsp_initpgm ( PROGRAMMER pgm)
4494{
4495 strcpy(pgm->type, "STK500HVSP");
4496
4497 /*
4498 * mandatory functions
4499 */
4510
4511 /*
4512 * optional functions
4513 */
4523 pgm->page_size = 256;
4524}
static PROGRAMMER * pgm
Definition main.c:192
static void stk500v2_close(PROGRAMMER *pgm)
Definition stk500v2.c:1769
static void stk500v2_print_parms(PROGRAMMER *pgm)
Definition stk500v2.c:3421
static int stk500v2_open(PROGRAMMER *pgm, char *port)
Definition stk500v2.c:1639
static int stk500hvsp_program_enable(PROGRAMMER *pgm, AVRPART *p)
Definition stk500v2.c:1260
static int stk500hvsp_read_byte(PROGRAMMER *pgm, AVRPART *p, AVRMEM *mem, unsigned long addr, unsigned char *value)
Definition stk500v2.c:1924
static int stk500hvsp_write_byte(PROGRAMMER *pgm, AVRPART *p, AVRMEM *mem, unsigned long addr, unsigned char data)
Definition stk500v2.c:2184
static int stk500v2_set_fosc(PROGRAMMER *pgm, double v)
Definition stk500v2.c:2812
static int stk500v2_set_sck_period(PROGRAMMER *pgm, double v)
Definition stk500v2.c:2933
static void stk500v2_display(PROGRAMMER *pgm, const char *p)
Definition stk500v2.c:3216
static int stk500v2_set_varef(PROGRAMMER *pgm, unsigned int chan, double v)
Definition stk500v2.c:2789
void stk500v2_setup(PROGRAMMER *pgm)
Definition stk500v2.c:295
static void stk500v2_enable(PROGRAMMER *pgm)
Definition stk500v2.c:1633
static void stk500hvsp_disable(PROGRAMMER *pgm)
Definition stk500v2.c:1628
static int stk500hvsp_paged_load(PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned int page_size, unsigned int addr, unsigned int n_bytes)
Definition stk500v2.c:2750
static int stk500v2_set_vtarget(PROGRAMMER *pgm, double v)
Definition stk500v2.c:2766
static int stk500hvsp_paged_write(PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned int page_size, unsigned int addr, unsigned int n_bytes)
Definition stk500v2.c:2560
void stk500v2_teardown(PROGRAMMER *pgm)
Definition stk500v2.c:354
static int stk500hvsp_chip_erase(PROGRAMMER *pgm, AVRPART *p)
Definition stk500v2.c:1075
static int stk500hvsp_initialize(PROGRAMMER *pgm, AVRPART *p)
Definition stk500v2.c:1538
void(* display)(struct programmer_t *pgm, const char *p)
Definition libavrdude.h:644
int(* paged_write)(struct programmer_t *pgm, AVRPART *p, AVRMEM *m, unsigned int page_size, unsigned int baseaddr, unsigned int n_bytes)
Definition libavrdude.h:659
int(* open)(struct programmer_t *pgm, char *port)
Definition libavrdude.h:657
int(* read_byte)(struct programmer_t *pgm, AVRPART *p, AVRMEM *m, unsigned long addr, unsigned char *value)
Definition libavrdude.h:670
int(* paged_load)(struct programmer_t *pgm, AVRPART *p, AVRMEM *m, unsigned int page_size, unsigned int baseaddr, unsigned int n_bytes)
Definition libavrdude.h:662
int(* set_vtarget)(struct programmer_t *pgm, double v)
Definition libavrdude.h:674
void(* teardown)(struct programmer_t *pgm)
Definition libavrdude.h:685
int(* set_varef)(struct programmer_t *pgm, unsigned int chan, double v)
Definition libavrdude.h:675
void(* enable)(struct programmer_t *pgm)
Definition libavrdude.h:645
int(* program_enable)(struct programmer_t *pgm, AVRPART *p)
Definition libavrdude.h:649
int(* write_byte)(struct programmer_t *pgm, AVRPART *p, AVRMEM *m, unsigned long addr, unsigned char value)
Definition libavrdude.h:668
void(* setup)(struct programmer_t *pgm)
Definition libavrdude.h:684
int(* set_fosc)(struct programmer_t *pgm, double v)
Definition libavrdude.h:676
void(* print_parms)(struct programmer_t *pgm)
Definition libavrdude.h:673
char type[PGM_TYPELEN]
Definition libavrdude.h:619
int(* initialize)(struct programmer_t *pgm, AVRPART *p)
Definition libavrdude.h:643
void(* close)(struct programmer_t *pgm)
Definition libavrdude.h:658
int(* set_sck_period)(struct programmer_t *pgm, double v)
Definition libavrdude.h:677
int(* chip_erase)(struct programmer_t *pgm, AVRPART *p)
Definition libavrdude.h:650
void(* disable)(struct programmer_t *pgm)
Definition libavrdude.h:646
int page_size
Definition libavrdude.h:638

References programmer_t::chip_erase, programmer_t::close, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_fosc, programmer_t::set_sck_period, programmer_t::set_varef, programmer_t::set_vtarget, programmer_t::setup, stk500hvsp_chip_erase(), stk500hvsp_disable(), stk500hvsp_initialize(), stk500hvsp_paged_load(), stk500hvsp_paged_write(), stk500hvsp_program_enable(), stk500hvsp_read_byte(), stk500hvsp_write_byte(), stk500v2_close(), stk500v2_display(), stk500v2_enable(), stk500v2_open(), stk500v2_print_parms(), stk500v2_set_fosc(), stk500v2_set_sck_period(), stk500v2_set_varef(), stk500v2_set_vtarget(), stk500v2_setup(), stk500v2_teardown(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

+ Here is the call graph for this function:

◆ stk500pp_initpgm()

void stk500pp_initpgm ( PROGRAMMER pgm)
4459{
4460 strcpy(pgm->type, "STK500PP");
4461
4462 /*
4463 * mandatory functions
4464 */
4475
4476 /*
4477 * optional functions
4478 */
4488 pgm->page_size = 256;
4489}
static int stk500pp_read_byte(PROGRAMMER *pgm, AVRPART *p, AVRMEM *mem, unsigned long addr, unsigned char *value)
Definition stk500v2.c:1915
static int stk500pp_paged_load(PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned int page_size, unsigned int addr, unsigned int n_bytes)
Definition stk500v2.c:2740
static int stk500pp_paged_write(PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned int page_size, unsigned int addr, unsigned int n_bytes)
Definition stk500v2.c:2550
static int stk500pp_initialize(PROGRAMMER *pgm, AVRPART *p)
Definition stk500v2.c:1530
static int stk500pp_program_enable(PROGRAMMER *pgm, AVRPART *p)
Definition stk500v2.c:1239
static void stk500pp_disable(PROGRAMMER *pgm)
Definition stk500v2.c:1620
static int stk500pp_write_byte(PROGRAMMER *pgm, AVRPART *p, AVRMEM *mem, unsigned long addr, unsigned char data)
Definition stk500v2.c:2175
static int stk500pp_chip_erase(PROGRAMMER *pgm, AVRPART *p)
Definition stk500v2.c:1067

References programmer_t::chip_erase, programmer_t::close, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_fosc, programmer_t::set_sck_period, programmer_t::set_varef, programmer_t::set_vtarget, programmer_t::setup, stk500pp_chip_erase(), stk500pp_disable(), stk500pp_initialize(), stk500pp_paged_load(), stk500pp_paged_write(), stk500pp_program_enable(), stk500pp_read_byte(), stk500pp_write_byte(), stk500v2_close(), stk500v2_display(), stk500v2_enable(), stk500v2_open(), stk500v2_print_parms(), stk500v2_set_fosc(), stk500v2_set_sck_period(), stk500v2_set_varef(), stk500v2_set_vtarget(), stk500v2_setup(), stk500v2_teardown(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

+ Here is the call graph for this function:

◆ stk500v2_dragon_hvsp_initpgm()

void stk500v2_dragon_hvsp_initpgm ( PROGRAMMER pgm)
4633{
4634 strcpy(pgm->type, "DRAGON_HVSP");
4635
4636 /*
4637 * mandatory functions
4638 */
4649
4650 /*
4651 * optional functions
4652 */
4662 pgm->page_size = 256;
4663}
static int stk500v2_set_sck_period_mk2(PROGRAMMER *pgm, double v)
Definition stk500v2.c:2885
static int stk500v2_dragon_hv_open(PROGRAMMER *pgm, char *port)
Definition stk500v2.c:3645
static void stk500v2_jtagmkII_setup(PROGRAMMER *pgm)
Definition stk500v2.c:308
static void stk500v2_jtagmkII_teardown(PROGRAMMER *pgm)
Definition stk500v2.c:359
static void stk500v2_jtagmkII_close(PROGRAMMER *pgm)
Definition stk500v2.c:3527

References programmer_t::chip_erase, programmer_t::close, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_fosc, programmer_t::set_sck_period, programmer_t::set_varef, programmer_t::set_vtarget, programmer_t::setup, stk500hvsp_chip_erase(), stk500hvsp_disable(), stk500hvsp_initialize(), stk500hvsp_paged_load(), stk500hvsp_paged_write(), stk500hvsp_program_enable(), stk500hvsp_read_byte(), stk500hvsp_write_byte(), stk500v2_display(), stk500v2_dragon_hv_open(), stk500v2_enable(), stk500v2_jtagmkII_close(), stk500v2_jtagmkII_setup(), stk500v2_jtagmkII_teardown(), stk500v2_print_parms(), stk500v2_set_fosc(), stk500v2_set_sck_period_mk2(), stk500v2_set_varef(), stk500v2_set_vtarget(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

+ Here is the call graph for this function:

◆ stk500v2_dragon_isp_initpgm()

void stk500v2_dragon_isp_initpgm ( PROGRAMMER pgm)
4564{
4565 strcpy(pgm->type, "DRAGON_ISP");
4566
4567 /*
4568 * mandatory functions
4569 */
4576 pgm->cmd = stk500v2_cmd;
4581
4582 /*
4583 * optional functions
4584 */
4592 pgm->page_size = 256;
4593}
static int stk500v2_dragon_isp_open(PROGRAMMER *pgm, char *port)
Definition stk500v2.c:3566
static int stk500v2_page_erase(PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned int addr)
Definition stk500v2.c:2758
static void stk500v2_disable(PROGRAMMER *pgm)
Definition stk500v2.c:1567
static int stk500v2_cmd(PROGRAMMER *pgm, const unsigned char *cmd, unsigned char *res)
Definition stk500v2.c:960
static int stk500v2_initialize(PROGRAMMER *pgm, AVRPART *p)
Definition stk500v2.c:1285
static int stk500v2_paged_load(PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned int page_size, unsigned int addr, unsigned int n_bytes)
Definition stk500v2.c:2567
static int stk500isp_write_byte(PROGRAMMER *pgm, AVRPART *p, AVRMEM *mem, unsigned long addr, unsigned char data)
Definition stk500v2.c:2194
static int stk500isp_read_byte(PROGRAMMER *pgm, AVRPART *p, AVRMEM *mem, unsigned long addr, unsigned char *value)
Definition stk500v2.c:1936
static int stk500v2_chip_erase(PROGRAMMER *pgm, AVRPART *p)
Definition stk500v2.c:1010
static int stk500v2_paged_write(PROGRAMMER *pgm, AVRPART *p, AVRMEM *m, unsigned int page_size, unsigned int addr, unsigned int n_bytes)
Definition stk500v2.c:2298
static int stk500v2_program_enable(PROGRAMMER *pgm, AVRPART *p)
Definition stk500v2.c:1127
int(* cmd)(struct programmer_t *pgm, const unsigned char *cmd, unsigned char *res)
Definition libavrdude.h:651
int(* page_erase)(struct programmer_t *pgm, AVRPART *p, AVRMEM *m, unsigned int baseaddr)
Definition libavrdude.h:665

References programmer_t::chip_erase, programmer_t::close, programmer_t::cmd, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_erase, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_sck_period, programmer_t::setup, stk500isp_read_byte(), stk500isp_write_byte(), stk500v2_chip_erase(), stk500v2_cmd(), stk500v2_disable(), stk500v2_display(), stk500v2_dragon_isp_open(), stk500v2_enable(), stk500v2_initialize(), stk500v2_jtagmkII_close(), stk500v2_jtagmkII_setup(), stk500v2_jtagmkII_teardown(), stk500v2_page_erase(), stk500v2_paged_load(), stk500v2_paged_write(), stk500v2_print_parms(), stk500v2_program_enable(), stk500v2_set_sck_period_mk2(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

+ Here is the call graph for this function:

◆ stk500v2_dragon_pp_initpgm()

void stk500v2_dragon_pp_initpgm ( PROGRAMMER pgm)

References programmer_t::chip_erase, programmer_t::close, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_fosc, programmer_t::set_sck_period, programmer_t::set_varef, programmer_t::set_vtarget, programmer_t::setup, stk500pp_chip_erase(), stk500pp_disable(), stk500pp_initialize(), stk500pp_paged_load(), stk500pp_paged_write(), stk500pp_program_enable(), stk500pp_read_byte(), stk500pp_write_byte(), stk500v2_display(), stk500v2_dragon_hv_open(), stk500v2_enable(), stk500v2_jtagmkII_close(), stk500v2_jtagmkII_setup(), stk500v2_jtagmkII_teardown(), stk500v2_print_parms(), stk500v2_set_fosc(), stk500v2_set_sck_period_mk2(), stk500v2_set_varef(), stk500v2_set_vtarget(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

+ Here is the call graph for this function:

◆ stk500v2_drain()

int stk500v2_drain ( PROGRAMMER pgm,
int  display 
)
531{
532 return serial_drain(&pgm->fd, display);
533}
#define serial_drain
Definition libavrdude.h:579
union filedescriptor fd
Definition libavrdude.h:637

References programmer_t::fd, pgm, and serial_drain.

Referenced by stk500v2_open(), stk600_open(), and wiring_open().

+ Here is the caller graph for this function:

◆ stk500v2_getsync()

int stk500v2_getsync ( PROGRAMMER pgm)
749 {
750 int tries = 0;
751 unsigned char buf[1], resp[32];
752 int status;
753
754 DEBUG("STK500V2: stk500v2_getsync()\n");
755
756 if (PDATA(pgm)->pgmtype == PGMTYPE_JTAGICE_MKII ||
757 PDATA(pgm)->pgmtype == PGMTYPE_JTAGICE3)
758 return 0;
759
760retry:
761 tries++;
762
764
765 // send the sync command and see if we can get there
766 buf[0] = CMD_SIGN_ON;
767 if (stk500v2_send(pgm, buf, 1) != 0) {
768 avrdude_message(MSG_INFO, "%s: stk500v2_getsync(): can't communicate with device\n", progname);
769 return -1;
770 }
771
773
774 // try to get the response back and see where we got
775 status = stk500v2_recv(pgm, resp, sizeof(resp));
776
778
779 // if we got bytes returned, check to see what came back
780 if (status > 0) {
781 if ((resp[0] == CMD_SIGN_ON) && (resp[1] == STATUS_CMD_OK) &&
782 (status > 3)) {
783 // success!
784 unsigned int siglen = resp[2];
785 if (siglen >= strlen("STK500_2") &&
786 memcmp(resp + 3, "STK500_2", strlen("STK500_2")) == 0) {
787 PDATA(pgm)->pgmtype = PGMTYPE_STK500;
788 } else if (siglen >= strlen("AVRISP_2") &&
789 memcmp(resp + 3, "AVRISP_2", strlen("AVRISP_2")) == 0) {
790 PDATA(pgm)->pgmtype = PGMTYPE_AVRISP;
791 } else if (siglen >= strlen("AVRISP_MK2") &&
792 memcmp(resp + 3, "AVRISP_MK2", strlen("AVRISP_MK2")) == 0) {
793 PDATA(pgm)->pgmtype = PGMTYPE_AVRISP_MKII;
794 } else if (siglen >= strlen("STK600") &&
795 memcmp(resp + 3, "STK600", strlen("STK600")) == 0) {
796 PDATA(pgm)->pgmtype = PGMTYPE_STK600;
797 } else {
798 resp[siglen + 3] = 0;
799 avrdude_message(MSG_NOTICE, "%s: stk500v2_getsync(): got response from unknown "
800 "programmer %s, assuming STK500\n",
801 progname, resp + 3);
802 PDATA(pgm)->pgmtype = PGMTYPE_STK500;
803 }
804 avrdude_message(MSG_DEBUG, "%s: stk500v2_getsync(): found %s programmer\n",
805 progname, pgmname[PDATA(pgm)->pgmtype]);
806 return 0;
807 } else {
808 if (tries > RETRIES) {
809 avrdude_message(MSG_INFO, "%s: stk500v2_getsync(): can't communicate with device: resp=0x%02x\n",
810 progname, resp[0]);
811 return -6;
812 } else
813 goto retry;
814 }
815
816 // or if we got a timeout
817 } else if (status == -1) {
818 if (tries > RETRIES) {
819 avrdude_message(MSG_INFO, "%s: stk500v2_getsync(): timeout communicating with programmer\n",
820 progname);
821 return -1;
822 } else
823 goto retry;
824
825 // or any other error
826 } else {
827 if (tries > RETRIES) {
828 avrdude_message(MSG_INFO, "%s: stk500v2_getsync(): error communicating with programmer: (%d)\n",
829 progname,status);
830 } else
831 goto retry;
832 }
833
834 return 0;
835}
#define MSG_DEBUG
Definition avrdude.h:54
#define MSG_INFO
Definition avrdude.h:51
char * progname
Definition main.c:61
#define MSG_NOTICE
Definition avrdude.h:52
int avrdude_message(const int msglvl, const char *format,...)
Definition main.c:93
#define RETURN_IF_CANCEL()
Definition libavrdude.h:733
static int stk500v2_send(PROGRAMMER *pgm, unsigned char *data, size_t len)
Definition stk500v2.c:492
static const char * pgmname[]
Definition stk500v2.c:114
#define PDATA(pgm)
Definition stk500v2.c:102
#define DEBUG(...)
Definition stk500v2.c:87
#define RETRIES
Definition stk500v2.c:82
static int stk500v2_recv(PROGRAMMER *pgm, unsigned char *msg, size_t maxsize)
Definition stk500v2.c:628
#define CMD_SIGN_ON
Definition stk500v2_private.h:19
#define STATUS_CMD_OK
Definition stk500v2_private.h:132

References avrdude_message(), CMD_SIGN_ON, DEBUG, MSG_DEBUG, MSG_INFO, MSG_NOTICE, PDATA, pgm, pgmname, progname, RETRIES, RETURN_IF_CANCEL, STATUS_CMD_OK, stk500v2_recv(), and stk500v2_send().

Referenced by stk500v2_command(), stk500v2_open(), stk600_open(), and wiring_open().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stk500v2_initpgm()

void stk500v2_initpgm ( PROGRAMMER pgm)
4419{
4420
4421 strcpy(pgm->type, "STK500V2");
4422
4423 /*
4424 * mandatory functions
4425 */
4432 pgm->cmd = stk500v2_cmd;
4437
4438 /*
4439 * optional functions
4440 */
4452 pgm->page_size = 256;
4454}
void stk500v2_set_upload_size(PROGRAMMER *pgm, int size)
Definition stk500v2.c:4808
static int stk500v2_perform_osccal(PROGRAMMER *pgm)
Definition stk500v2.c:3426
int(* perform_osccal)(struct programmer_t *pgm)
Definition libavrdude.h:682
void(* set_upload_size)(struct programmer_t *pgm, int size)
Definition libavrdude.h:686

References programmer_t::chip_erase, programmer_t::close, programmer_t::cmd, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_erase, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, programmer_t::perform_osccal, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_fosc, programmer_t::set_sck_period, programmer_t::set_upload_size, programmer_t::set_varef, programmer_t::set_vtarget, programmer_t::setup, stk500isp_read_byte(), stk500isp_write_byte(), stk500v2_chip_erase(), stk500v2_close(), stk500v2_cmd(), stk500v2_disable(), stk500v2_display(), stk500v2_enable(), stk500v2_initialize(), stk500v2_open(), stk500v2_page_erase(), stk500v2_paged_load(), stk500v2_paged_write(), stk500v2_perform_osccal(), stk500v2_print_parms(), stk500v2_program_enable(), stk500v2_set_fosc(), stk500v2_set_sck_period(), stk500v2_set_upload_size(), stk500v2_set_varef(), stk500v2_set_vtarget(), stk500v2_setup(), stk500v2_teardown(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

Referenced by stk500generic_open(), stk500generic_setup(), stk500generic_teardown(), and wiring_initpgm().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stk500v2_jtag3_initpgm()

void stk500v2_jtag3_initpgm ( PROGRAMMER pgm)
4776{
4777 strcpy(pgm->type, "JTAG3_ISP");
4778
4779 /*
4780 * mandatory functions
4781 */
4793
4794 /*
4795 * optional functions
4796 */
4805 pgm->page_size = 256;
4806}
static int stk500v2_jtag3_open(PROGRAMMER *pgm, char *port)
Definition stk500v2.c:3723
static int stk500v2_jtag3_initialize(PROGRAMMER *pgm, AVRPART *p)
Definition stk500v2.c:1369
static void stk500v2_jtag3_setup(PROGRAMMER *pgm)
Definition stk500v2.c:331
static int stk500v2_jtag3_set_sck_period(PROGRAMMER *pgm, double v)
Definition stk500v2.c:3087
static void stk500v2_jtag3_teardown(PROGRAMMER *pgm)
Definition stk500v2.c:370
static int stk500v2_jtag3_cmd(PROGRAMMER *pgm, const unsigned char *cmd, unsigned char *res)
Definition stk500v2.c:997
static void stk500v2_jtag3_disable(PROGRAMMER *pgm)
Definition stk500v2.c:1543
static void stk500v2_jtag3_close(PROGRAMMER *pgm)
Definition stk500v2.c:3543

References programmer_t::chip_erase, programmer_t::close, programmer_t::cmd, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_erase, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, programmer_t::perform_osccal, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_sck_period, programmer_t::setup, stk500isp_read_byte(), stk500isp_write_byte(), stk500v2_chip_erase(), stk500v2_display(), stk500v2_enable(), stk500v2_jtag3_close(), stk500v2_jtag3_cmd(), stk500v2_jtag3_disable(), stk500v2_jtag3_initialize(), stk500v2_jtag3_open(), stk500v2_jtag3_set_sck_period(), stk500v2_jtag3_setup(), stk500v2_jtag3_teardown(), stk500v2_page_erase(), stk500v2_paged_load(), stk500v2_paged_write(), stk500v2_perform_osccal(), stk500v2_print_parms(), stk500v2_program_enable(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

+ Here is the call graph for this function:

◆ stk500v2_jtagmkII_initpgm()

void stk500v2_jtagmkII_initpgm ( PROGRAMMER pgm)
4529{
4530 strcpy(pgm->type, "JTAGMKII_ISP");
4531
4532 /*
4533 * mandatory functions
4534 */
4541 pgm->cmd = stk500v2_cmd;
4546
4547 /*
4548 * optional functions
4549 */
4558 pgm->page_size = 256;
4559}
static int stk500v2_jtagmkII_open(PROGRAMMER *pgm, char *port)
Definition stk500v2.c:3453

References programmer_t::chip_erase, programmer_t::close, programmer_t::cmd, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_erase, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, programmer_t::perform_osccal, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_sck_period, programmer_t::setup, stk500isp_read_byte(), stk500isp_write_byte(), stk500v2_chip_erase(), stk500v2_cmd(), stk500v2_disable(), stk500v2_display(), stk500v2_enable(), stk500v2_initialize(), stk500v2_jtagmkII_close(), stk500v2_jtagmkII_open(), stk500v2_jtagmkII_setup(), stk500v2_jtagmkII_teardown(), stk500v2_page_erase(), stk500v2_paged_load(), stk500v2_paged_write(), stk500v2_perform_osccal(), stk500v2_print_parms(), stk500v2_program_enable(), stk500v2_set_sck_period_mk2(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

+ Here is the call graph for this function:

◆ stk500v2_set_upload_size()

void stk500v2_set_upload_size ( PROGRAMMER pgm,
int  size 
)
4809{
4810 unsigned char buf[16];
4812 buf[1] = size & 0xff;
4813 buf[2] = size >> 8;
4814 buf[3] = size >> 16;
4815 stk500v2_command(pgm, buf, 4, sizeof(buf));
4816}
constexpr auto size(const C &c) -> decltype(c.size())
Definition span.hpp:183
static int stk500v2_command(PROGRAMMER *pgm, unsigned char *buf, size_t len, size_t maxlen)
Definition stk500v2.c:837
#define CMD_SET_UPLOAD_SIZE_PRUSA3D
Definition stk500v2_private.h:95

References CMD_SET_UPLOAD_SIZE_PRUSA3D, pgm, and stk500v2_command().

Referenced by stk500v2_initpgm().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stk500v2_setup()

void stk500v2_setup ( PROGRAMMER pgm)
296{
297 if ((pgm->cookie = malloc(sizeof(struct pdata))) == 0) {
298 // avrdude_message(MSG_INFO, "%s: stk500v2_setup(): Out of memory allocating private data\n",
299 // progname);
300 // exit(1);
301 avrdude_oom("stk500v2_setup(): Out of memory allocating private data\n");
302 }
303 memset(pgm->cookie, 0, sizeof(struct pdata));
304 PDATA(pgm)->command_sequence = 1;
305 PDATA(pgm)->boot_start = ULONG_MAX;
306}
void avrdude_oom(const char *context)
Definition main.c:169
void * malloc(YYSIZE_T)
Definition avr910.c:50
void * cookie
Definition libavrdude.h:689

References avrdude_oom(), programmer_t::cookie, malloc(), PDATA, and pgm.

Referenced by stk500hvsp_initpgm(), stk500pp_initpgm(), stk500v2_initpgm(), stk600_initpgm(), stk600hvsp_initpgm(), stk600pp_initpgm(), and wiring_setup().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stk500v2_teardown()

void stk500v2_teardown ( PROGRAMMER pgm)
355{
356 free(pgm->cookie);
357}
void free(void *)

References programmer_t::cookie, free(), and pgm.

Referenced by stk500hvsp_initpgm(), stk500pp_initpgm(), stk500v2_initpgm(), stk600_initpgm(), stk600hvsp_initpgm(), stk600pp_initpgm(), and wiring_teardown().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stk600_initpgm()

void stk600_initpgm ( PROGRAMMER pgm)
4668{
4669 strcpy(pgm->type, "STK600");
4670
4671 /*
4672 * mandatory functions
4673 */
4680 pgm->cmd = stk500v2_cmd;
4681 pgm->open = stk600_open;
4685
4686 /*
4687 * optional functions
4688 */
4700 pgm->page_size = 256;
4701}
static int stk600_set_fosc(PROGRAMMER *pgm, double v)
Definition stk500v2.c:3065
static int stk600_set_vtarget(PROGRAMMER *pgm, double v)
Definition stk500v2.c:2977
static int stk600_set_varef(PROGRAMMER *pgm, unsigned int chan, double v)
Definition stk500v2.c:3029
static int stk600_open(PROGRAMMER *pgm, char *port)
Definition stk500v2.c:1709
static int stk600_set_sck_period(PROGRAMMER *pgm, double v)
Definition stk500v2.c:3075

References programmer_t::chip_erase, programmer_t::close, programmer_t::cmd, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_erase, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, programmer_t::perform_osccal, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_fosc, programmer_t::set_sck_period, programmer_t::set_varef, programmer_t::set_vtarget, programmer_t::setup, stk500isp_read_byte(), stk500isp_write_byte(), stk500v2_chip_erase(), stk500v2_close(), stk500v2_cmd(), stk500v2_disable(), stk500v2_display(), stk500v2_enable(), stk500v2_initialize(), stk500v2_page_erase(), stk500v2_paged_load(), stk500v2_paged_write(), stk500v2_perform_osccal(), stk500v2_print_parms(), stk500v2_program_enable(), stk500v2_setup(), stk500v2_teardown(), stk600_open(), stk600_set_fosc(), stk600_set_sck_period(), stk600_set_varef(), stk600_set_vtarget(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

+ Here is the call graph for this function:

◆ stk600hvsp_initpgm()

void stk600hvsp_initpgm ( PROGRAMMER pgm)

References programmer_t::chip_erase, programmer_t::close, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_fosc, programmer_t::set_sck_period, programmer_t::set_varef, programmer_t::set_vtarget, programmer_t::setup, stk500hvsp_chip_erase(), stk500hvsp_disable(), stk500hvsp_initialize(), stk500hvsp_paged_load(), stk500hvsp_paged_write(), stk500hvsp_program_enable(), stk500hvsp_read_byte(), stk500hvsp_write_byte(), stk500v2_close(), stk500v2_display(), stk500v2_enable(), stk500v2_print_parms(), stk500v2_setup(), stk500v2_teardown(), stk600_open(), stk600_set_fosc(), stk600_set_sck_period(), stk600_set_varef(), stk600_set_vtarget(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

+ Here is the call graph for this function:

◆ stk600pp_initpgm()

void stk600pp_initpgm ( PROGRAMMER pgm)

References programmer_t::chip_erase, programmer_t::close, programmer_t::disable, programmer_t::display, programmer_t::enable, programmer_t::initialize, programmer_t::open, programmer_t::page_size, programmer_t::paged_load, programmer_t::paged_write, pgm, programmer_t::print_parms, programmer_t::program_enable, programmer_t::read_byte, programmer_t::set_fosc, programmer_t::set_sck_period, programmer_t::set_varef, programmer_t::set_vtarget, programmer_t::setup, stk500pp_chip_erase(), stk500pp_disable(), stk500pp_initialize(), stk500pp_paged_load(), stk500pp_paged_write(), stk500pp_program_enable(), stk500pp_read_byte(), stk500pp_write_byte(), stk500v2_close(), stk500v2_display(), stk500v2_enable(), stk500v2_print_parms(), stk500v2_setup(), stk500v2_teardown(), stk600_open(), stk600_set_fosc(), stk600_set_sck_period(), stk600_set_varef(), stk600_set_vtarget(), programmer_t::teardown, programmer_t::type, and programmer_t::write_byte.

+ Here is the call graph for this function:

Variable Documentation

◆ stk500hvsp_desc

const char stk500hvsp_desc[]
extern

◆ stk500pp_desc

const char stk500pp_desc[]
extern

◆ stk500v2_desc

const char stk500v2_desc[]
extern

◆ stk500v2_dragon_hvsp_desc

const char stk500v2_dragon_hvsp_desc[]
extern

◆ stk500v2_dragon_isp_desc

const char stk500v2_dragon_isp_desc[]
extern

◆ stk500v2_dragon_pp_desc

const char stk500v2_dragon_pp_desc[]
extern

◆ stk500v2_jtag3_desc

const char stk500v2_jtag3_desc[]
extern

◆ stk500v2_jtagmkII_desc

const char stk500v2_jtagmkII_desc[]
extern

◆ stk600_desc

const char stk600_desc[]
extern

◆ stk600hvsp_desc

const char stk600hvsp_desc[]
extern

◆ stk600pp_desc

const char stk600pp_desc[]
extern