Hi All,
I'm traying to convert an .ino sketch to Atmel Studio 7.
The sketch compiles in Arduino IDE without errors and with the following messages:
d:\Users\Paul\Documents\Arduino\libraries\XpressNetMaster\XpressNetMaster.cpp: In member function 'void XpressNetMasterClass::SetLocoBusy(uint8_t, uint16_t)':
d:\Users\Paul\Documents\Arduino\libraries\XpressNetMaster\XpressNetMaster.cpp:342:38: warning: narrowing conversion of '(((int)UserOps) | 256)' from 'int' to 'unsigned int' inside { } [-Wnarrowing]
unsigned int LocoInfo[] = { UserOps | 0x100, 0xE3, 0x40, Adr >> 8, Adr & 0xFF, 0x00 };
^
d:\Users\Paul\Documents\Arduino\libraries\XpressNetMaster\XpressNetMaster.cpp: In member function 'void XpressNetMasterClass::SetLocoInfo(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)':
d:\Users\Paul\Documents\Arduino\libraries\XpressNetMaster\XpressNetMaster.cpp:356:38: warning: narrowing conversion of '(((int)UserOps) | 256)' from 'int' to 'unsigned int' inside { } [-Wnarrowing]
unsigned int LocoInfo[] = { UserOps | 0x100, 0xE4, B00001000 | Steps, Speed, F0, F1, 0x00 };
^
d:\Users\Paul\Documents\Arduino\libraries\XpressNetMaster\XpressNetMaster.cpp:356:63: warning: narrowing conversion of '(int)(Steps | 8u)' from 'int' to 'unsigned int' inside { } [-Wnarrowing]
unsigned int LocoInfo[] = { UserOps | 0x100, 0xE4, B00001000 | Steps, Speed, F0, F1, 0x00 };
^
d:\Users\Paul\Documents\Arduino\libraries\XpressNetMaster\XpressNetMaster.cpp: In member function 'void XpressNetMasterClass::SetFktStatus(uint8_t, uint8_t, uint8_t)':
d:\Users\Paul\Documents\Arduino\libraries\XpressNetMaster\XpressNetMaster.cpp:366:37: warning: narrowing conversion of '(((int)UserOps) | 256)' from 'int' to 'unsigned int' inside { } [-Wnarrowing]
unsigned int LocoFkt[] = { UserOps | 0x100, 0xE3, 0x52, F4, F5, 0x00 };
^
d:\Users\Paul\Documents\Arduino\libraries\XpressNetMaster\XpressNetMaster.cpp: In member function 'void XpressNetMasterClass::SetTrntStatus(uint8_t, uint8_t, uint8_t)':
d:\Users\Paul\Documents\Arduino\libraries\XpressNetMaster\XpressNetMaster.cpp:380:38: warning: narrowing conversion of '(((int)UserOps) | 256)' from 'int' to 'unsigned int' inside { } [-Wnarrowing]
unsigned int TrntInfo[] = { UserOps | 0x100, 0x42, Address, Data, 0x00 };
^
d:\Users\Paul\Documents\Arduino\libraries\DCCInterfaceMaster\DCCPacketScheduler.cpp: In member function 'bool DCCPacketScheduler::setBasicAccessoryPos(uint16_t, bool, bool)':
d:\Users\Paul\Documents\Arduino\libraries\DCCInterfaceMaster\DCCPacketScheduler.cpp:508:53: warning: narrowing conversion of '(((address + ((uint16_t)((DCCPacketScheduler*)this)->DCCPacketScheduler::TrntFormat)) & 3u) << 1)' from 'uint16_t {aka unsigned int}' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]
uint8_t data[] = { ((address + TrntFormat) & 0x03) << 1 }; //0000-CDDX
^
Sketch uses 37,130 bytes (14%) of program storage space. Maximum is 253,952 bytes.
Global variables use 2,703 bytes (32%) of dynamic memory, leaving 5,489 bytes for local variables. Maximum is 8,192 bytes.
Creating a new project in Atmel Studio 7 (File -> New -> Project -> C/C++ -> Create project from Arduino sketch -> Create C++ project from Arduino sketch -> filling Sketch File, Arduino IDE Path, Board and Device-> OK) gives an error "not enough arguments for format string"
A Simple sketch gives no problems.
The project's documentation and sketch files and necessary libraries can be found here : Zentrale Z21PG – Digital Modellbahn
Any suggestions are very welcome !
Thanks in advance,
Paul