microsoft / devkit-sdk

Arduino library and package for the MXChip IoT DevKit
https://aka.ms/devkit
MIT License
69 stars 52 forks source link

including Wire.h causes error compiling on IoT Devkit #917

Closed douglas-johnston closed 5 years ago

douglas-johnston commented 5 years ago

edit: the problem appears to have been caused by having a function in Wire.cpp that is not listed in Wire.h. Adding the function to Wire.h allows compilation.

(for context, I'm trying to use Wire to communicate with an i2c device, though the problem occurs before I can attempt to make use of the Wire library).

When I include wire.h in a sketch for the MXCHIP, attempting to compile first sends a warning : "WARNING: library Wire claims to run on (stm32l4) architecture(s) and may be incompatible with your current board which runs on (stm32f4) architecture(s)."

When it gets to compiling libraries, and starts compiling Wire, it hits an error, returning the following messages: Users/douglas/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.4.1/libraries/Wire/Wire.cpp:86:9: error: prototype for 'uint8_t TwoWire::requestFrom(uint8_t, uint8_t, uint32_t, uint8_t, uint8_t)' does not match any in class 'TwoWire' uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity, uint32_t iaddress, uint8_t isize, uint8_t sendStop) ^ In file included from /Users/douglas/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.4.1/libraries/Wire/Wire.cpp:28:0: /Users/douglas/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.4.1/libraries/Wire/Wire.h:77:19: error: candidates are: unsigned char TwoWire::requestFrom(int, int, int) unsigned char requestFrom(int, int, int); ^ /Users/douglas/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.4.1/libraries/Wire/Wire.h:76:19: error: unsigned char TwoWire::requestFrom(int, int) unsigned char requestFrom(int, int); ^ /Users/douglas/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.4.1/libraries/Wire/Wire.h:75:18: error: unsigned char TwoWire::requestFrom(unsigned char, unsigned char, unsigned int, unsigned char, unsigned char) unsigned char requestFrom(unsigned char, unsigned char, unsigned int, unsigned char, unsigned char); ^ /Users/douglas/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.4.1/libraries/Wire/Wire.h:74:19: error: unsigned char TwoWire::requestFrom(unsigned char, unsigned char, unsigned char) unsigned char requestFrom(unsigned char, unsigned char, unsigned char); ^ /Users/douglas/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.4.1/libraries/Wire/Wire.h:73:19: error: unsigned char TwoWire::requestFrom(unsigned char, unsigned char) unsigned char requestFrom(unsigned char, unsigned char);

ArthurMa1978 commented 5 years ago

thanks douglas for rising this issue and fix it, 1.6.1 released include your fix!