Arduino ide komplimentieren problem

hallo zusammen, habe hier ein kleines Problem mit meinem tennsy board Arduino: 1.8.19 (Windows 10), TD: 1.57, Board: "Teensy 4.1, Serial, 600 MHz, Faster, US English"

In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/WProgram.h:41:0,

             from C:\Users\Surface\AppData\Local\Temp\arduino_build_597164\pch\Arduino.h:6:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'fmt'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:171:42: note: in expansion of macro 'PROGMEM'

 static void prepare (const char* fmt PROGMEM, ...);

                                      ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'fmt'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:240:34: note: in expansion of macro 'PROGMEM'

 void emit_p (const char* fmt PROGMEM, ...);

                              ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'p'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:252:36: note: in expansion of macro 'PROGMEM'

 void emit_raw_p (const char* p PROGMEM, uint16_t n) { memcpy_P(ptr, p, n); ptr += n; }

                                ^

Autosteer_UDP_v5_6: In function 'void setup()':

Autosteer_UDP_v5_6:205: warning: suggest parentheses around arithmetic in operand of '|'

       TCCR2B = TCCR2B & B11111000 | B00000110;    // set timer 2 to 256 for PWM frequency of   122.55 Hz

                       ^

Autosteer_UDP_v5_6:206: warning: suggest parentheses around arithmetic in operand of '|'

       TCCR1B = TCCR1B & B11111000 | B00000100;    // set timer 1 to 256 for PWM frequency of   122.55 Hz

                       ^

Autosteer_UDP_v5_6:211: warning: suggest parentheses around arithmetic in operand of '|'

       TCCR1B = TCCR1B & B11111000 | B00000010;    // set timer 1 to 8 for PWM frequency of  3921.16 Hz

                       ^

Autosteer_UDP_v5_6:212: warning: suggest parentheses around arithmetic in operand of '|'

       TCCR2B = TCCR2B & B11111000 | B00000010;    // set timer 2 to 8 for PWM frequency of  3921.16 Hx

                       ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\Autosteer_UDP_v5_6.ino:328:54: warning: invalid conversion from 'void ()(uint16_t, uint8_t, uint16_t, uint8_t*, uint16_t) {aka void ()(short unsigned int, unsigned char, short unsigned int, unsigned char*, short unsigned int)}' to 'UdpServerCallback {aka void ()(short unsigned int, unsigned char, short unsigned int, const char*, short unsigned int)}' [-fpermissive]

   ether.udpServerListenOnPort(&udpSteerRecv, 8888);

                                                  ^

In file included from C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\Autosteer_UDP_v5_6.ino:68:0:

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:489:17: note: initializing argument 1 of 'static void EtherCard::udpServerListenOnPort(UdpServerCallback, uint16_t)'

 static void udpServerListenOnPort(UdpServerCallback callback, uint16_t port);

             ^

Autosteer_UDP_v5_6: In function 'void udpSteerRecv(uint16_t, uint8_t*, uint16_t, uint8_t*, uint16_t)':

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\Autosteer_UDP_v5_6.ino:682:93: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'const char*' [-fpermissive]

           ether.sendUdp(PGN_253, sizeof(PGN_253), portMy, ipDestination, portDestination);

                                                                                         ^

In file included from C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\Autosteer_UDP_v5_6.ino:68:0:

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:445:17: note: initializing argument 1 of 'static void EtherCard::sendUdp(const char*, uint8_t, uint16_t, const uint8_t*, uint16_t)'

 static void sendUdp (const char *data, uint8_t len, uint16_t sport,

             ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\Autosteer_UDP_v5_6.ino:701:101: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'const char*' [-fpermissive]

                   ether.sendUdp(PGN_250, sizeof(PGN_250), portMy, ipDestination, portDestination);

                                                                                                 ^

In file included from C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\Autosteer_UDP_v5_6.ino:68:0:

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:445:17: note: initializing argument 1 of 'static void EtherCard::sendUdp(const char*, uint8_t, uint16_t, const uint8_t*, uint16_t)'

 static void sendUdp (const char *data, uint8_t len, uint16_t sport,

             ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\Autosteer_UDP_v5_6.ino:785:115: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'const char*' [-fpermissive]

           ether.sendUdp(helloFromAutoSteer, sizeof(helloFromAutoSteer), portMy, ipDestination, portDestination);

                                                                                                               ^

In file included from C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\Autosteer_UDP_v5_6.ino:68:0:

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:445:17: note: initializing argument 1 of 'static void EtherCard::sendUdp(const char*, uint8_t, uint16_t, const uint8_t*, uint16_t)'

 static void sendUdp (const char *data, uint8_t len, uint16_t sport,

             ^

In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/WProgram.h:41:0,

             from C:\Users\Surface\AppData\Local\Temp\arduino_build_597164/pch/Arduino.h:6,

             from C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:30,

             from C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.cpp:12:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'fmt'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:171:42: note: in expansion of macro 'PROGMEM'

 static void prepare (const char* fmt PROGMEM, ...);

                                      ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'fmt'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:240:34: note: in expansion of macro 'PROGMEM'

 void emit_p (const char* fmt PROGMEM, ...);

                              ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'p'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:252:36: note: in expansion of macro 'PROGMEM'

 void emit_raw_p (const char* p PROGMEM, uint16_t n) { memcpy_P(ptr, p, n); ptr += n; }

                                ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'fmt'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.cpp:158:38: note: in expansion of macro 'PROGMEM'

void Stash::prepare (const char* fmt PROGMEM, ...) {

                                  ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.cpp: In static member function 'static void Stash::extract(uint16_t, uint16_t, void*)':

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute cannot be specified for local variables

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.cpp:229:21: note: in expansion of macro 'PROGMEM'

 const char* fmt PROGMEM = (const char*)((segs[2] << 16) | segs[1]);

                 ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.cpp: In static member function 'static void Stash::cleanup()':

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute cannot be specified for local variables

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.cpp:297:21: note: in expansion of macro 'PROGMEM'

 const char* fmt PROGMEM = (const char*)((segs[2] << 16) | segs[1]);

                 ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.cpp: At global scope:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'fmt'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.cpp:319:43: note: in expansion of macro 'PROGMEM'

void BufferFiller::emit_p(const char* fmt PROGMEM, ...) {

                                       ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.cpp: In member function 'void BufferFiller::emit_p(const char*, ...)':

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute cannot be specified for local variables

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.cpp:368:27: note: in expansion of macro 'PROGMEM'

         const char* s PROGMEM = va_arg(ap, const char*);

                       ^

In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/WProgram.h:41:0,

             from C:\Users\Surface\AppData\Local\Temp\arduino_build_597164/pch/Arduino.h:6,

             from C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:30,

             from C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\dhcp.cpp:17:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'fmt'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:171:42: note: in expansion of macro 'PROGMEM'

 static void prepare (const char* fmt PROGMEM, ...);

                                      ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'fmt'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:240:34: note: in expansion of macro 'PROGMEM'

 void emit_p (const char* fmt PROGMEM, ...);

                              ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'p'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:252:36: note: in expansion of macro 'PROGMEM'

 void emit_raw_p (const char* p PROGMEM, uint16_t n) { memcpy_P(ptr, p, n); ptr += n; }

                                ^

In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/WProgram.h:41:0,

             from C:\Users\Surface\AppData\Local\Temp\arduino_build_597164/pch/Arduino.h:6,

             from C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:30,

             from C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\dns.cpp:7:

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'fmt'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:171:42: note: in expansion of macro 'PROGMEM'

 static void prepare (const char* fmt PROGMEM, ...);

                                      ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'fmt'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:240:34: note: in expansion of macro 'PROGMEM'

 void emit_p (const char* fmt PROGMEM, ...);

                              ^

C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4/avr/pgmspace.h:30:52: error: section attribute not allowed for 'p'

#define PROGMEM attribute((section(".progmem")))

                                                ^

C:\Users\Surface\Desktop\SupportFiles\ArduinoModules\UDP\Autosteer_UDP_v5_6\EtherCard_AOG.h:252:36: note: in expansion of macro 'PROGMEM'

 void emit_raw_p (const char* p PROGMEM, uint16_t n) { memcpy_P(ptr, p, n); ptr += n; }

                                ^

Fehler beim Kompilieren für das Board Teensy 4.1.

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Bin recht neu noch in dem Ganzen wäre nett wenn mir jemand helfen könnte

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

Als Erste geh in der IDE auf Datei, -> Voreinstellungen und mach dort 3 Häkchen.
Und ohne deinen Sketch kann dir keiner helfen.

Was meint das denn mit not allowed for fmt

Kannst du mir vllt sagen welchen Sketch ich brauch oder wonach ich suchen muss

Das Attribut PROGMEM ist nicht zulässig für den Funktionsparameter fmt.

Ist die library EtherCard_AOG denn für den Teensy 4.1 vorgesehen?
Könnte Code, in dem z.B. die Funktion memcpy_P vorkommt, für den Teensy compiliert und verwendet werden?

Ja memcpy kommt vor

memcpy_P auch ? Das verwendet statt einem RAM-Pointer einen PROGMEM-Pointer.

Nein nur memcpy

Der Code geht auf einem normalen Arduino:

const char flash[] PROGMEM {"Hallo"};
void setup() {
  Serial.begin(9600);
  char tmp[6];
  memcpy_P(tmp, flash, sizeof (tmp));
  Serial.println(tmp);
}
void loop() { }

Auch auf deinem Teensy?

Nachtrag:
Sollte eigentlich. PROGMEM sollte so definiert sein, dass es beim Teensy ignoriert wird, habe ich jetzt gelesen. Kenn mich mit dem Teensy aber nicht aus.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.