У меня дилемма:
Я пытаюсь заставить Digispark считывать датчик освещенности BH1750 I2C, а затем отправлять показания через USB. В настоящее время я использую библиотеку DigiUSB для отправки на ПК, но эскиз очень большой (не могу реализовать ни одну из функций, которые мне нужны, используя 94% флэш-памяти). На данный момент он просто отправляет значение каждые 0,5 секунды, не вычисляя его, и мне приходится заново подключать устройство при загрузке. Я знаю, как реализовать эти функции, просто недостаточно места в digispark, используя Wire и DigiUSB.
Поэтому, чтобы уменьшить размер, я хочу заменить большую библиотеку проводов Digistump на SoftI2CMaster & SoftWire ИЛИ USIWire, обе в два раза меньше.
Я попробовал две библиотеки BH1750 I2C (обе прекрасно работают с проводом Digistump), но для всех четырех комбинаций я получаю следующую ошибку:
In file included from C:\Users\xyz\AppData\Local\Temp\arduino_modified_sketch_192160\Echo.ino:8:0:
C:\Users\xyz\Documents\Arduino\libraries\SoftI2CMaster-master/SoftWire.h:101:10: error: conflicting return type specified for 'virtual size_t SoftWire::write(const uint8_t*, size_t)'
size_t write(const uint8_t *data, size_t quantity) {
^
In file included from C:\Users\xyz\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Stream.h:24:0,
from C:\Users\xyz\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/TinyDebugSerial.h:31,
from C:\Users\xyz\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/WProgram.h:18,
from C:\Users\xyz\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Arduino.h:4,
from sketch\Echo.ino.cpp:1:
C:\Users\xyz\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\cores\tiny/Print.h:75:18: error: overriding 'virtual void Print::write(const uint8_t*, size_t)'
virtual void write(const uint8_t *buffer, size_t size);
^
exit status 1
Я пытался выяснить, как исправить эту ошибку "конфликтного типа возврата", но я не мог понять, как это сделать. Google часто надежен в поиске ответов, но не сегодня.
Любая помощь будет оценена!