PlatformIO package of the Teensy core framework compatible with GCC 10 & C++20
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

WProgram.h 1.1KB

3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef WProgram_h
  2. #define WProgram_h
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <math.h>
  6. #ifdef GCC_VERSION
  7. #if (GCC_VERSION < 40300)
  8. #warning "Your avr-gcc and avr-libc are too old, please upgrade"
  9. #endif
  10. #if (GCC_VERSION >= 40300) && (GCC_VERSION < 40302)
  11. // gcc 4.3.0 fails to save context for some interrupt routines - very ugly
  12. #warning "Buggy GCC 4.3.0 compiler, please upgrade!"
  13. #endif
  14. #endif
  15. #include <avr/interrupt.h>
  16. #include "wiring.h"
  17. #ifdef __cplusplus
  18. #include "usb_api.h"
  19. #include "WCharacter.h"
  20. #include "WString.h"
  21. #include "HardwareSerial.h"
  22. #include "elapsedMillis.h"
  23. uint16_t makeWord(uint16_t w);
  24. uint16_t makeWord(byte h, byte l);
  25. #define word(...) makeWord(__VA_ARGS__)
  26. unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);
  27. void tone(uint8_t pin, uint16_t frequency, uint32_t duration = 0);
  28. void noTone(uint8_t pin);
  29. // WMath prototypes
  30. long random(long);
  31. long random(long, long);
  32. void randomSeed(unsigned int);
  33. long map(long, long, long, long, long);
  34. #include "pins_arduino.h"
  35. #endif // __cplusplus
  36. #endif // WProgram_h