Did USBASP support get removed recently?

I wasn’t sure if this was a bug, or an intentional change, so I thought asking it on the forum first before opening a ticket on Github.

I was trying to program a custom board containing an atmega328p with a usbasp programmer, as I did in the past. So, I use make all flash term with environment variables PROGRAMMER=usbasp and BOARD=atmega328p,

unfortunately, I get the following error:

 ✘ wouter@LOLA-Arch  ~/repo/can_tsm_demo   master  make all flash term          
'usbasp' programmer is not supported by this board. Supported programmers: 'avrdude'
/home/wouter/repo/can_tsm_demo/RIOT/Makefile.include:683: *** FLASHFILE is not defined for this board: .  Stop.

However, if I checkout an older commit (e.g. 3918d714ce) it still works?

Did USBASP get removed? Was this intentional? Is there something else I might be doing wrong here?

Hello,

It could be related to the refactoring done with programmer support last year.

Maybe try to add AVRDUDE_PROGRAMMER=usbasp to the command line ?

Nope. Did not work.

So, judging by your comment, I take it might be a bug? Shall I make a ticket?

No idea if that’s a bug or not. Is usbasp supposed to be an avrdude programmer or is it a tool directly called to program the microcontroller ? If that’s the second case, then just set PROGRAMMERS_SUPPORTED += usbasp in the board Makefile.include or PROGRAMMERS_SUPPORTED=usbasp to the command line.

If that doesn’t work either, then I think it’s a bug.

Aha, wait!

I have used this command now:

AVRDUDE_PROGRAMMER=usbasp PROGRAMMER=avrdude make all flash term

and it works!

Is usbasp supposed to be an avrdude programmer or is it a tool directly called to program the microcontroller ?

It’s a generic ISP programmer.

I think the way RIOT handles these programmers in combination with avrdude has changed. Not sure if it should be improved or not.