Problem compiling mod-chip-arduboy

I’m trying to verify that the flash chip is connected to the arduboy.

The mod-chip-arduboy program by @mr.blinky does this just fine, but I cannot get it to compile

I get an error:

sketch\ArduboyFX.cpp: In static member function 'static uint8_t FX::writeByte(uint8_t)':
ArduboyFX.cpp:12:40: error: void value not ignored as it ought to be
   return Arduboy2Base::SPItransfer(data);

And I’ve never seen this error before and I tried changing the code to:

uint8_t FX::writeByte(uint8_t data)
  return 1; 
  return SPDR;

This compiles, but it doesn’t work. I already asked the man himself, but I think he is sleeping and I’m trying to get this done so I can submit it for production.

Any ideas?

return Arduboy2Base::SPItransfer(data);
return Arduboy2Base::SPItransferAndRead(data);

It will then compile. I can’t test if it will work.

(You’ll need to use the latest Arduboy2 library V5.3.0)


I’m guessing something changed? When?

@Mr.Blinky wanted me to modify function SPItransfer() to return the SPI byte that is clocked in. I didn’t want to change the existing function because it would change the API and also increase the program size of the function.

Instead, I added new function SPItransferAndRead() to serve the purpose. @Mr.Blinky had submitted a pull request with the changes to the old function and had modified his fork of the library to match. I assume he just hasn’t gotten around to modifying mod-chip-arduboy to use the new function, and matching his fork of the Arduboy2 library to the official release.


Ah ok, so he made his own mod to the library that was causing the hiccup. He went to bed right after I started digging into it, or else he probably would have mentioned it.



Sorry about that, fixed the issue now.

I did, had to :sleeping:

1 Like

No worries thank you!

1 Like