Merge pull request #439 from Zaltora/ssd1306_fix

Fix SPI3 protocol with SSD1306
This commit is contained in:
Ruslan V. Uss 2017-08-24 18:41:02 +05:00 committed by GitHub
commit 42ccb47eb3

View file

@ -99,7 +99,7 @@ static int inline i2c_send(const ssd1306_t *dev, uint8_t reg, uint8_t* data, uin
/* Issue a command to SSD1306 device /* Issue a command to SSD1306 device
* I2C proto format: * I2C proto format:
* |S|Slave Address|W|ACK|0x00|Command|Ack|P| * |S|Slave Address|W|ACK|0x00|Command|Ack|P|
* *
* in case of two-bytes command here will be Data byte * in case of two-bytes command here will be Data byte
* right after the command byte. * right after the command byte.
*/ */
@ -293,9 +293,19 @@ int ssd1306_load_frame_buffer(const ssd1306_t *dev, uint8_t buf[])
{ {
spi_set_command(SPI_BUS,1,1); // data mode spi_set_command(SPI_BUS,1,1); // data mode
if (buf) if (buf)
spi_transfer(SPI_BUS, buf, NULL, len, SPI_8BIT); {
for (i = 0; i < len; i++)
{
spi_transfer(SPI_BUS, &buf[i], NULL, 1, SPI_8BIT);
}
}
else else
spi_repeat_send_8(SPI_BUS,0,len); {
for (i = 0; i < len; i++)
{
spi_transfer_8(SPI_BUS, 0);
}
}
} }
else else
{ {