fixed bug with USB devices (has no pgm or spi mode)
@@ -730,6 +730,12 @@ | ||
730 | 730 | static int cmd_spi(PROGRAMMER * pgm, struct avrpart * p, |
731 | 731 | int argc, char * argv[]) |
732 | 732 | { |
733 | + if(!pgm->setpin) | |
734 | + { | |
735 | + // fixed bug: USB device has no SPI mode | |
736 | + avrdude_message(MSG_INFO, "Device has no SPI mode!\n"); | |
737 | + return 0; | |
738 | + } | |
733 | 739 | pgm->setpin(pgm, PIN_AVR_RESET, 1); |
734 | 740 | spi_mode = 1; |
735 | 741 | return 0; |
@@ -738,6 +744,12 @@ | ||
738 | 744 | static int cmd_pgm(PROGRAMMER * pgm, struct avrpart * p, |
739 | 745 | int argc, char * argv[]) |
740 | 746 | { |
747 | + if(!pgm->setpin) | |
748 | + { | |
749 | + // fixed bug: USB device has no pgm mode | |
750 | + avrdude_message(MSG_INFO, "Device has no direct programming mode!\n"); | |
751 | + return 0; | |
752 | + } | |
741 | 753 | pgm->setpin(pgm, PIN_AVR_RESET, 0); |
742 | 754 | spi_mode = 0; |
743 | 755 | pgm->initialize(pgm, p); |