MajenkoLibraries / ICSC

Inter-Chip Serial Communications
BSD 3-Clause "New" or "Revised" License
81 stars 27 forks source link

STM32 #13

Closed tasosstr closed 6 years ago

tasosstr commented 6 years ago

Hello dear friend, i apologize if this is wrong place to put it here.

How can we use this nice library with the STM32 32bit devices ?

I try to compile a working project from arduino but choose it as STM32 and i got error:

'Building file: C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp' 'Starting C++ compile' "C:\sloeber\/arduinoPlugin/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-g++" -c -g -Os -Wall -Wextra -DDEBUG_LEVEL=DEBUG_ALL -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -DBOARD_generic_stm32f103c -DVECT_TAB_ADDR=0x8002000 -DERROR_LED_PORT=GPIOB -DERROR_LED_PIN=1 -mcpu=cortex-m3 -DF_CPU=72000000L -DARDUINO=10609 -DARDUINO_GENERIC_STM32F103C -DARDUINO_ARCH_STM32F1 -DSERIAL_USB -DGENERIC_BOOTLOADER -DMCU_STM32F103CB -mthumb -march=armv7-m -DSTM32F1 -DMCU_STM32F103CB -mthumb -march=armv7-m -DSTM32F1 "-IC:/Users/TasosStr/Arduino/hardware/Arduino_STM32/STM32F1/system/libmaple" "-IC:/Users/TasosStr/Arduino/hardware/Arduino_STM32/STM32F1/system/libmaple/include" "-IC:/Users/TasosStr/Arduino/hardware/Arduino_STM32/STM32F1/system/libmaple/stm32f1/include" "-IC:/Users/TasosStr/Arduino/hardware/Arduino_STM32/STM32F1/system/libmaple/usb/stm32f1" "-IC:/Users/TasosStr/Arduino/hardware/Arduino_STM32/STM32F1/system/libmaple/usb/usb_lib" -I"C:\Users\TasosStr\Arduino\hardware\Arduino_STM32\STM32F1\cores\maple" -I"C:\Users\TasosStr\Arduino\hardware\Arduino_STM32\STM32F1\variants\generic_stm32f103c" -I"C:\Users\TasosStr\Arduino\libraries\Bounce2" -I"C:\Users\TasosStr\Arduino\hardware\Arduino_STM32\STM32F1\libraries\EEPROM" -I"C:\Users\TasosStr\Arduino\libraries\ICSC" -I"C:\Users\TasosStr\Arduino\libraries\Streaming" -MMD -MP -MF"libraries/ICSC/ICSC.cpp.d" -MT"libraries/ICSC/ICSC.cpp.o" -D__IN_ECLIPSE__=1 -x c++ "C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp" -o "libraries/ICSC/ICSC.cpp.o" C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp: In member function 'void _ICSC::begin(unsigned char, long unsigned int)': C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:61:37: error: no matching function for call to '_ICSC::begin(unsigned char&, long unsigned int&, USBSerial, int)' begin(station, baud, &Serial, -1); ^ C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:61:37: note: candidates are: C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:59:6: note: void _ICSC::begin(unsigned char, long unsigned int) void _ICSC::begin(unsigned char station, unsigned long baud) ^ C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:59:6: note: candidate expects 2 arguments, 4 provided In file included from C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:36:0: C:\Users\TasosStr\Arduino\libraries\ICSC/ICSC.h:191:14: note: void _ICSC::begin(unsigned char, long unsigned int, int) void begin(unsigned char station, unsigned long baud, int dePin); ^ C:\Users\TasosStr\Arduino\libraries\ICSC/ICSC.h:191:14: note: candidate expects 3 arguments, 4 provided C:\Users\TasosStr\Arduino\libraries\ICSC/ICSC.h:196:14: note: void _ICSC::begin(unsigned char, long unsigned int, HardwareSerial) void begin(unsigned char station, unsigned long baud, HardwareSerial sdev); ^ C:\Users\TasosStr\Arduino\libraries\ICSC/ICSC.h:196:14: note: candidate expects 3 arguments, 4 provided C:\Users\TasosStr\Arduino\libraries\ICSC/ICSC.h:197:14: note: void _ICSC::begin(unsigned char, long unsigned int, HardwareSerial, int) void begin(unsigned char station, unsigned long baud, HardwareSerial sdev, int dePin); ^ C:\Users\TasosStr\Arduino\libraries\ICSC/ICSC.h:197:14: note: no known conversion for argument 3 from 'USBSerial' to 'HardwareSerial' C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp: In member function 'void _ICSC::begin(unsigned char, long unsigned int, int)': C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:66:40: error: no matching function for call to '_ICSC::begin(unsigned char&, long unsigned int&, USBSerial, int&)' begin(station, baud, &Serial, dePin); ^ C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:66:40: note: candidates are: C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:59:6: note: void _ICSC::begin(unsigned char, long unsigned int) void _ICSC::begin(unsigned char station, unsigned long baud) ^ C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:59:6: note: candidate expects 2 arguments, 4 provided C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:64:6: note: void _ICSC::begin(unsigned char, long unsigned int, int) void _ICSC::begin(unsigned char station, unsigned long baud, int dePin) ^ C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:64:6: note: candidate expects 3 arguments, 4 provided In file included from C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:36:0: C:\Users\TasosStr\Arduino\libraries\ICSC/ICSC.h:196:14: note: void _ICSC::begin(unsigned char, long unsigned int, HardwareSerial) void begin(unsigned char station, unsigned long baud, HardwareSerial sdev); ^ C:\Users\TasosStr\Arduino\libraries\ICSC/ICSC.h:196:14: note: candidate expects 3 arguments, 4 provided C:\Users\TasosStr\Arduino\libraries\ICSC/ICSC.h:197:14: note: void _ICSC::begin(unsigned char, long unsigned int, HardwareSerial, int) void begin(unsigned char station, unsigned long baud, HardwareSerial sdev, int dePin); ^ C:\Users\TasosStr\Arduino\libraries\ICSC/ICSC.h:197:14: note: no known conversion for argument 3 from 'USBSerial' to 'HardwareSerial' C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp: In member function 'boolean _ICSC::send(unsigned char, unsigned char, char, unsigned char, char)': C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:199:19: warning: unused variable 'del' [-Wunused-variable] unsigned char del; ^ C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp: At global scope: C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:624:6: warning: unused parameter 'command' [-Wunused-parameter] void _ICSC::respondToPing(unsigned char station, char command, unsigned char len, char data) ^ C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp: In member function 'int _ICSC::serialRead()': C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:170:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp: In member function 'int _ICSC::serialAvailable()': C:/Users/TasosStr/Arduino/libraries/ICSC/ICSC.cpp:183:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ libraries\ICSC/subdir.mk:18: recipe for target 'libraries/ICSC/ICSC.cpp.o' failed make: *** [libraries/ICSC/ICSC.cpp.o] Error 1

04:15:42 Build Finished (took 2s.571ms)

Can you please help me ?

Thank you.

Best Regards, Tasos

majenkotech commented 6 years ago

It looks like you have an ancient version of the library. You should download the version from this site, and not from anywhere else. Also after updating you will have to adjust your code to use the new constructor and begin functions. See the included examples.

tasosstr commented 6 years ago

Hello Dear majenkotech,

You are FANTASTIC ! ! ! !

Thank you very much for the fast replay and for you're PERFECT JOB ! ! !

One last question please, because i have use older library that use for setup the ICSC.begin(LocalID, 250000, 2); and i have already use it on 30 nodes, if i will add a new node with the new version it will working or i will have to change something ?

Thank you in Advance.

Best Regards, Tasos

majenkotech commented 6 years ago

The protocol is the same - it's just the constructor and method for dealing with the serial objects that has changed - i.e., you pass a Stream object to the constructor, and it's up to you to set the baud rate of that in your sketch as you would for any other serial communication.

tasosstr commented 6 years ago

You are Perfect ! ! ! !

Again thank you very much for the fast replay and for you're PERFECT JOB ! ! !

I wish you the best ! ! ! ! Always ! ! !

Best Regards, Tasos