Add support for Uno R4 Minima + WIFI #595
                
     Open
            
            
          
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Adds support for Uno R4 Minima + WIFI
Closes #590
Compiler options
It looks like the compiler options used to specify the R4 Minima and R4 WIFI are ARDUINO_UNOR4_MINIMA and ARDUINO_UNOR4_WIFI respectively.
Explanation of each definition
CBI and SBI
Clear Bit In and Set Bit In macros.
I am not 100% confident these are the correct implementations over
digitalWrite(bitmask, LOW).pulse_high and pulse_low
These are the same for all board variants given the CBI+SBI are correct.
Clear Port and Set Port
Also the same as for all other board variants.
Swap and fontbyte
The
swapmacro conflicts with the definition intuple.h, which is included in the Uno R4's implementation ofSPI.h. However,swapdoesn't seem to be used anywhere else in this repo, so I did not define it here.fontbyteis also not used in this repo but it isn't causing any problems so I left it alone.Register types
These seem to be the only definitions that are actually used anywhere in this repo
I initially thought that since the Renesas RA4M1 is a 32 bit CPU, the registers would be
uint32_t, but that throws an error at compile time suggesting they areuint16_tregisters. Usinguint16_tcompiles without issue.This is currently untested!
My camera modules haven't arrived yet. This change was sufficient to compile the examples but I do not know whether it works with the camera yet!