Clean up SPI library, add info

This commit is contained in:
Earle F. Philhower, III 2021-03-16 21:44:17 -07:00
parent 9f25417036
commit ca7a219ee9
4 changed files with 60 additions and 12 deletions

1
cores/rp2040/Print.h Normal file
View file

@ -0,0 +1 @@
#include "api/Print.h"

View file

@ -29,20 +29,21 @@ class SPIClassRP2040 : public arduino::HardwareSPI {
public:
SPIClassRP2040(spi_inst_t *spi);
// Send or receive data in 8- or 16-bit chunks Returns readback value
byte transfer(uint8_t data);
uint16_t transfer16(uint16_t data);
// Send or receive 8- or 16-bit data. Returns read back value
byte transfer(uint8_t data) override;
uint16_t transfer16(uint16_t data) override;
// Sends buffer in 8 bit chunks. Overwrites buffer with read data
void transfer(void *buf, size_t count);
void transfer(void *buf, size_t count) override;
// Call before/after every complete transaction
void beginTransaction(SPISettings settings);
void endTransaction(void);
void beginTransaction(SPISettings settings) override;
void endTransaction(void) override;
// Call once to init/deinit SPI class, select pins, etc.
virtual void begin() { begin(false, D0); }
virtual void begin() override { begin(false, D0); }
void begin(bool hwCS, pin_size_t spiRX);
void end();
void end() override;
// Deprecated - do not use!
void setBitOrder(BitOrder order) __attribute__((deprecated));
@ -50,10 +51,10 @@ public:
void setClockDivider(uint8_t uc_div) __attribute__((deprecated));
// Unimplemented
virtual void usingInterrupt(int interruptNumber) { (void) interruptNumber; }
virtual void notUsingInterrupt(int interruptNumber) { (void) interruptNumber; }
virtual void attachInterrupt() { /* noop */ }
virtual void detachInterrupt() { /* noop */ }
virtual void usingInterrupt(int interruptNumber) override { (void) interruptNumber; }
virtual void notUsingInterrupt(int interruptNumber) override { (void) interruptNumber; }
virtual void attachInterrupt() override { /* noop */ }
virtual void detachInterrupt() override { /* noop */ }
private:
spi_cpol_t cpol();

View file

@ -0,0 +1,36 @@
#######################################
# Syntax Coloring Map SPI
#######################################
#######################################
# Datatypes (KEYWORD1)
#######################################
SPI KEYWORD1
#######################################
# Methods and Functions (KEYWORD2)
#######################################
begin KEYWORD2
end KEYWORD2
transfer KEYWORD2
setBitOrder KEYWORD2
setDataMode KEYWORD2
setClockDivider KEYWORD2
#######################################
# Constants (LITERAL1)
#######################################
SPI_CLOCK_DIV4 LITERAL1
SPI_CLOCK_DIV16 LITERAL1
SPI_CLOCK_DIV64 LITERAL1
SPI_CLOCK_DIV128 LITERAL1
SPI_CLOCK_DIV2 LITERAL1
SPI_CLOCK_DIV8 LITERAL1
SPI_CLOCK_DIV32 LITERAL1
SPI_CLOCK_DIV64 LITERAL1
SPI_MODE0 LITERAL1
SPI_MODE1 LITERAL1
SPI_MODE2 LITERAL1
SPI_MODE3 LITERAL1

View file

@ -0,0 +1,10 @@
name=SPI
version=1.0
author=Earle F. Philhower, III <earlephilhower@yahoo.com>
maintainer=Earle F. Philhower, III <earlephilhower@yahoo.com>
sentence=Enables the communication with devices that use the Serial Peripheral Interface (SPI) Bus.
paragraph=
category=Signal Input/Output
url=http://arduino.cc/en/Reference/SPI
architectures=rp2040
dot_a_linkage=true