Digispark замена библиотеки проводов - PullRequest
0 голосов
/ 16 мая 2018

У меня дилемма: Я пытаюсь заставить 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 часто надежен в поиске ответов, но не сегодня. Любая помощь будет оценена!

...