removed AS504x dependency in spi_bb.c. Use mosi if not assigned to nullp

This commit is contained in:
Jakub Tomczak 2022-01-24 13:48:08 +01:00
parent bdc4ddca1c
commit 8b8a278e5d
1 changed files with 12 additions and 10 deletions

View File

@ -81,8 +81,12 @@ void spi_bb_transfer_8(spi_bb_state *s, uint8_t *in_buf, const uint8_t *out_buf,
uint8_t receive = 0;
for (int bit = 0; bit < 8; bit++) {
if(s->mosi_gpio)
{
palWritePad(s->mosi_gpio, s->mosi_pin, send >> 7);
send <<= 1;
}
palSetPad(s->sck_gpio, s->sck_pin);
spi_bb_delay();
@ -119,18 +123,16 @@ void spi_bb_transfer_16(spi_bb_state *s, uint16_t *in_buf,
const uint16_t *out_buf, int length) {
for (int i = 0; i < length; i++) {
#if AS504x_USE_SW_MOSI_PIN || AS5047_USE_HW_SPI_PINS
uint16_t send = out_buf ? out_buf[i] : 0xFFFF;
#else
(void)out_buf;
#endif
uint16_t receive = 0;
for (int bit = 0; bit < 16; bit++) {
#if AS504x_USE_SW_MOSI_PIN || AS5047_USE_HW_SPI_PINS
palWritePad(s->mosi_gpio, s->mosi_pin, send >> (15 - bit));
#endif
if(s->mosi_gpio)
{
palWritePad(s->mosi_gpio, s->mosi_pin, send >> 15);
send <<= 1;
}
palSetPad(s->sck_gpio, s->sck_pin);
spi_bb_delay();