Merge pull request #14 from Caemor/fix-os-90-spi-message-on-linux-too-long

Set spi chunk limit on linux with cfg! to fix error
embedded-hal-1.0
Chris 2018-10-14 13:52:27 +02:00 committed by GitHub
commit b9430236e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 1 deletions

View File

@ -100,8 +100,18 @@ where
{
// activate spi with cs low
self.cs.set_low();
// transfer spi data
// Be careful!! Linux has a default limit of 4096 bytes per spi transfer
// see https://raspberrypi.stackexchange.com/questions/65595/spi-transfer-fails-with-buffer-size-greater-than-4096
if cfg!(target_os = "linux") {
for data_chunk in data.chunks(4096) {
spi.write(data_chunk)?;
}
} else {
spi.write(data)?;
}
// deativate spi with cs high
self.cs.set_high();