Arduino_STM32/STM32F1XX/libraries/SPI/precompile.txt

4619 lines
140 KiB
Plaintext

# 1 "C:\\Users\\rclark\\AppData\\Local\\Temp\\build7306151877588851736.tmp\\sketch_nov16a.cpp"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\libraries\\SPI//"
# 1 "<command-line>"
# 1 "C:\\Users\\rclark\\AppData\\Local\\Temp\\build7306151877588851736.tmp\\sketch_nov16a.cpp"
# 1 "sketch_nov16a.ino"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/SPI.h" 1
# 37 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/SPI.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/libmaple_types.h" 1
# 37 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/libmaple_types.h"
extern "C" {
typedef unsigned char uint8;
typedef unsigned short uint16;
typedef unsigned int uint32;
typedef unsigned long long uint64;
typedef signed char int8;
typedef short int16;
typedef int int32;
typedef long long int64;
typedef void (*voidFuncPtr)(void);
typedef void (*voidArgumentFuncPtr)(void *);
# 70 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/libmaple_types.h"
}
# 38 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/SPI.h" 2
extern "C" {
struct spi_reg_map;
# 57 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/SPI.h"
struct spi_dev;
extern struct spi_dev *SPI1;
extern struct spi_dev *SPI2;
# 70 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/SPI.h"
struct gpio_dev;
extern void spi_config_gpios(struct spi_dev*, uint8,
struct gpio_dev*, uint8,
struct gpio_dev*, uint8, uint8, uint8);
static inline __attribute__((always_inline)) void spi_gpio_cfg(uint8 as_master,
struct gpio_dev *nss_dev,
uint8 nss_bit,
struct gpio_dev *comm_dev,
uint8 sck_bit,
uint8 miso_bit,
uint8 mosi_bit) {
spi_config_gpios(0, as_master, nss_dev, nss_bit,
comm_dev, sck_bit, miso_bit, mosi_bit);
}
}
# 2 "sketch_nov16a.ino" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/Arduino.h" 1
# 30 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/Arduino.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 1
# 41 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h"
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdlib.h" 1 3
# 10 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdlib.h" 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\ieeefp.h" 1 3
# 11 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdlib.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\_ansi.h" 1 3
# 15 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\_ansi.h" 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\newlib.h" 1 3
# 16 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\_ansi.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\config.h" 1 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\ieeefp.h" 1 3
# 5 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\config.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\features.h" 1 3
# 25 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\features.h" 3
extern "C" {
# 227 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\features.h" 3
}
# 6 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\config.h" 2 3
# 17 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\_ansi.h" 2 3
# 12 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdlib.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 1 3 4
# 212 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 3 4
typedef unsigned int size_t;
# 17 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdlib.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 1 3
# 9 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 3
extern "C" {
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\_ansi.h" 1 3
# 14 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 1 3 4
# 147 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 3 4
typedef int ptrdiff_t;
# 15 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\_types.h" 1 3
# 12 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\_types.h" 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_types.h" 1 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 1 3
# 23 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 3
extern "C" {
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
# 37 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 3
typedef short int __int16_t;
typedef short unsigned int __uint16_t;
# 55 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 3
typedef long int __int32_t;
typedef long unsigned int __uint32_t;
# 77 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 3
typedef long long int __int64_t;
typedef long long unsigned int __uint64_t;
# 104 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 3
typedef signed char __int_least8_t;
typedef unsigned char __uint_least8_t;
# 126 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 3
typedef short int __int_least16_t;
typedef short unsigned int __uint_least16_t;
# 144 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 3
typedef long int __int_least32_t;
typedef long unsigned int __uint_least32_t;
# 158 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 3
typedef long long int __int_least64_t;
typedef long long unsigned int __uint_least64_t;
# 168 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 3
typedef int __intptr_t;
typedef unsigned int __uintptr_t;
# 181 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_default_types.h" 3
}
# 8 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\_types.h" 2 3
# 13 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\_types.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\lock.h" 1 3
typedef int _LOCK_T;
typedef int _LOCK_RECURSIVE_T;
# 14 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\_types.h" 2 3
typedef long _off_t;
typedef short __dev_t;
typedef unsigned short __uid_t;
typedef unsigned short __gid_t;
__extension__ typedef long long _off64_t;
typedef long _fpos_t;
# 55 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\_types.h" 3
typedef signed int _ssize_t;
# 67 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\_types.h" 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 1 3 4
# 353 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 3 4
typedef unsigned int wint_t;
# 68 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\_types.h" 2 3
typedef struct
{
int __count;
union
{
wint_t __wch;
unsigned char __wchb[4];
} __value;
} _mbstate_t;
typedef _LOCK_RECURSIVE_T _flock_t;
typedef void *_iconv_t;
# 16 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 2 3
typedef unsigned long __ULong;
# 38 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 3
struct _reent;
struct _Bigint
{
struct _Bigint *_next;
int _k, _maxwds, _sign, _wds;
__ULong _x[1];
};
struct __tm
{
int __tm_sec;
int __tm_min;
int __tm_hour;
int __tm_mday;
int __tm_mon;
int __tm_year;
int __tm_wday;
int __tm_yday;
int __tm_isdst;
};
struct _on_exit_args {
void * _fnargs[32];
void * _dso_handle[32];
__ULong _fntypes;
__ULong _is_cxa;
};
# 91 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 3
struct _atexit {
struct _atexit *_next;
int _ind;
void (*_fns[32])(void);
struct _on_exit_args _on_exit_args;
};
# 115 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 3
struct __sbuf {
unsigned char *_base;
int _size;
};
# 179 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 3
struct __sFILE {
unsigned char *_p;
int _r;
int _w;
short _flags;
short _file;
struct __sbuf _bf;
int _lbfsize;
void * _cookie;
int (* _read) (struct _reent *, void *, char *, int)
;
int (* _write) (struct _reent *, void *, const char *, int)
;
_fpos_t (* _seek) (struct _reent *, void *, _fpos_t, int);
int (* _close) (struct _reent *, void *);
struct __sbuf _ub;
unsigned char *_up;
int _ur;
unsigned char _ubuf[3];
unsigned char _nbuf[1];
struct __sbuf _lb;
int _blksize;
_off_t _offset;
struct _reent *_data;
_flock_t _lock;
_mbstate_t _mbstate;
int _flags2;
};
# 285 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 3
typedef struct __sFILE __FILE;
struct _glue
{
struct _glue *_next;
int _niobs;
__FILE *_iobs;
};
# 317 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 3
struct _rand48 {
unsigned short _seed[3];
unsigned short _mult[3];
unsigned short _add;
};
# 569 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 3
struct _reent
{
int _errno;
__FILE *_stdin, *_stdout, *_stderr;
int _inc;
char _emergency[25];
int _current_category;
const char *_current_locale;
int __sdidinit;
void (* __cleanup) (struct _reent *);
struct _Bigint *_result;
int _result_k;
struct _Bigint *_p5s;
struct _Bigint **_freelist;
int _cvtlen;
char *_cvtbuf;
union
{
struct
{
unsigned int _unused_rand;
char * _strtok_last;
char _asctime_buf[26];
struct __tm _localtime_buf;
int _gamma_signgam;
__extension__ unsigned long long _rand_next;
struct _rand48 _r48;
_mbstate_t _mblen_state;
_mbstate_t _mbtowc_state;
_mbstate_t _wctomb_state;
char _l64a_buf[8];
char _signal_buf[24];
int _getdate_err;
_mbstate_t _mbrlen_state;
_mbstate_t _mbrtowc_state;
_mbstate_t _mbsrtowcs_state;
_mbstate_t _wcrtomb_state;
_mbstate_t _wcsrtombs_state;
int _h_errno;
} _reent;
struct
{
unsigned char * _nextf[30];
unsigned int _nmalloc[30];
} _unused;
} _new;
struct _atexit *_atexit;
struct _atexit _atexit0;
void (**(_sig_func))(int);
struct _glue __sglue;
__FILE __sf[3];
};
# 762 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 3
extern struct _reent *_impure_ptr ;
extern struct _reent *const _global_impure_ptr ;
void _reclaim_reent (struct _reent *);
# 788 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\reent.h" 3
}
# 19 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdlib.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\stdlib.h" 1 3
# 20 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdlib.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\alloca.h" 1 3
# 22 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdlib.h" 2 3
extern "C" {
typedef struct
{
int quot;
int rem;
} div_t;
typedef struct
{
long quot;
long rem;
} ldiv_t;
typedef struct
{
long long int quot;
long long int rem;
} lldiv_t;
typedef int (*__compar_fn_t) (const void *, const void *);
int __locale_mb_cur_max (void);
void abort (void) __attribute__ ((noreturn));
int abs (int);
int atexit (void (*__func)(void));
double atof (const char *__nptr);
float atoff (const char *__nptr);
int atoi (const char *__nptr);
int _atoi_r (struct _reent *, const char *__nptr);
long atol (const char *__nptr);
long _atol_r (struct _reent *, const char *__nptr);
void * bsearch (const void * __key, const void * __base, size_t __nmemb, size_t __size, __compar_fn_t _compar)
;
void * calloc (size_t __nmemb, size_t __size) __attribute__ ((nothrow));
div_t div (int __numer, int __denom);
void exit (int __status) __attribute__ ((noreturn));
void free (void *) __attribute__ ((nothrow));
char * getenv (const char *__string);
char * _getenv_r (struct _reent *, const char *__string);
char * _findenv (const char *, int *);
char * _findenv_r (struct _reent *, const char *, int *);
extern char *suboptarg;
int getsubopt (char **, char * const *, char **);
long labs (long);
ldiv_t ldiv (long __numer, long __denom);
void * malloc (size_t __size) __attribute__ ((nothrow));
int mblen (const char *, size_t);
int _mblen_r (struct _reent *, const char *, size_t, _mbstate_t *);
int mbtowc (wchar_t *__restrict, const char *__restrict, size_t);
int _mbtowc_r (struct _reent *, wchar_t *__restrict, const char *__restrict, size_t, _mbstate_t *);
int wctomb (char *, wchar_t);
int _wctomb_r (struct _reent *, char *, wchar_t, _mbstate_t *);
size_t mbstowcs (wchar_t *__restrict, const char *__restrict, size_t);
size_t _mbstowcs_r (struct _reent *, wchar_t *__restrict, const char *__restrict, size_t, _mbstate_t *);
size_t wcstombs (char *__restrict, const wchar_t *__restrict, size_t);
size_t _wcstombs_r (struct _reent *, char *__restrict, const wchar_t *__restrict, size_t, _mbstate_t *);
char * mkdtemp (char *);
int mkostemp (char *, int);
int mkostemps (char *, int, int);
int mkstemp (char *);
int mkstemps (char *, int);
char * mktemp (char *) __attribute__ ((__warning__ ("the use of `mktemp' is dangerous; use `mkstemp' instead")));
char * _mkdtemp_r (struct _reent *, char *);
int _mkostemp_r (struct _reent *, char *, int);
int _mkostemps_r (struct _reent *, char *, int, int);
int _mkstemp_r (struct _reent *, char *);
int _mkstemps_r (struct _reent *, char *, int);
char * _mktemp_r (struct _reent *, char *) __attribute__ ((__warning__ ("the use of `mktemp' is dangerous; use `mkstemp' instead")));
void qsort (void * __base, size_t __nmemb, size_t __size, __compar_fn_t _compar);
int rand (void);
void * realloc (void * __r, size_t __size) __attribute__ ((nothrow));
void * reallocf (void * __r, size_t __size);
char * realpath (const char *__restrict path, char *__restrict resolved_path);
void srand (unsigned __seed);
double strtod (const char *__restrict __n, char **__restrict __end_PTR);
double _strtod_r (struct _reent *,const char *__restrict __n, char **__restrict __end_PTR);
float strtof (const char *__restrict __n, char **__restrict __end_PTR);
long strtol (const char *__restrict __n, char **__restrict __end_PTR, int __base);
long _strtol_r (struct _reent *,const char *__restrict __n, char **__restrict __end_PTR, int __base);
unsigned long strtoul (const char *__restrict __n, char **__restrict __end_PTR, int __base);
unsigned long _strtoul_r (struct _reent *,const char *__restrict __n, char **__restrict __end_PTR, int __base);
int system (const char *__string);
long a64l (const char *__input);
char * l64a (long __input);
char * _l64a_r (struct _reent *,long __input);
int on_exit (void (*__func)(int, void *),void * __arg);
void _Exit (int __status) __attribute__ ((noreturn));
int putenv (char *__string);
int _putenv_r (struct _reent *, char *__string);
void * _reallocf_r (struct _reent *, void *, size_t);
int setenv (const char *__string, const char *__value, int __overwrite);
int _setenv_r (struct _reent *, const char *__string, const char *__value, int __overwrite);
char * gcvt (double,int,char *);
char * gcvtf (float,int,char *);
char * fcvt (double,int,int *,int *);
char * fcvtf (float,int,int *,int *);
char * ecvt (double,int,int *,int *);
char * ecvtbuf (double, int, int*, int*, char *);
char * fcvtbuf (double, int, int*, int*, char *);
char * ecvtf (float,int,int *,int *);
char * dtoa (double, int, int, int *, int*, char**);
int rand_r (unsigned *__seed);
double drand48 (void);
double _drand48_r (struct _reent *);
double erand48 (unsigned short [3]);
double _erand48_r (struct _reent *, unsigned short [3]);
long jrand48 (unsigned short [3]);
long _jrand48_r (struct _reent *, unsigned short [3]);
void lcong48 (unsigned short [7]);
void _lcong48_r (struct _reent *, unsigned short [7]);
long lrand48 (void);
long _lrand48_r (struct _reent *);
long mrand48 (void);
long _mrand48_r (struct _reent *);
long nrand48 (unsigned short [3]);
long _nrand48_r (struct _reent *, unsigned short [3]);
unsigned short *
seed48 (unsigned short [3]);
unsigned short *
_seed48_r (struct _reent *, unsigned short [3]);
void srand48 (long);
void _srand48_r (struct _reent *, long);
long long atoll (const char *__nptr);
long long _atoll_r (struct _reent *, const char *__nptr);
long long llabs (long long);
lldiv_t lldiv (long long __numer, long long __denom);
long long strtoll (const char *__restrict __n, char **__restrict __end_PTR, int __base);
long long _strtoll_r (struct _reent *, const char *__restrict __n, char **__restrict __end_PTR, int __base);
unsigned long long strtoull (const char *__restrict __n, char **__restrict __end_PTR, int __base);
unsigned long long _strtoull_r (struct _reent *, const char *__restrict __n, char **__restrict __end_PTR, int __base);
void cfree (void *);
int unsetenv (const char *__string);
int _unsetenv_r (struct _reent *, const char *__string);
# 221 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdlib.h" 3
char * _dtoa_r (struct _reent *, double, int, int, int *, int*, char**);
void * _malloc_r (struct _reent *, size_t) __attribute__ ((nothrow));
void * _calloc_r (struct _reent *, size_t, size_t) __attribute__ ((nothrow));
void _free_r (struct _reent *, void *) __attribute__ ((nothrow));
void * _realloc_r (struct _reent *, void *, size_t) __attribute__ ((nothrow));
void _mstats_r (struct _reent *, char *);
int _system_r (struct _reent *, const char *);
void __eprintf (const char *, const char *, unsigned int, const char *);
extern long double strtold (const char *__restrict, char **__restrict);
}
# 42 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 1 3
# 35 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 1 3 4
# 36 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stdarg.h" 1 3 4
# 40 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 39 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 2 3
# 47 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\types.h" 1 3
# 69 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\types.h" 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 1 3 4
# 70 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\types.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\types.h" 1 3
# 19 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\types.h" 3
typedef long int __off_t;
typedef int __pid_t;
__extension__ typedef long long int __loff_t;
# 71 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\types.h" 2 3
# 93 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\types.h" 3
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
typedef unsigned long clock_t;
typedef long time_t;
struct timespec {
time_t tv_sec;
long tv_nsec;
};
struct itimerspec {
struct timespec it_interval;
struct timespec it_value;
};
typedef long daddr_t;
typedef char * caddr_t;
# 155 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\types.h" 3
typedef unsigned short ino_t;
# 184 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\types.h" 3
typedef _off_t off_t;
typedef __dev_t dev_t;
typedef __uid_t uid_t;
typedef __gid_t gid_t;
typedef int pid_t;
typedef long key_t;
typedef _ssize_t ssize_t;
# 217 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\types.h" 3
typedef unsigned int mode_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned short nlink_t;
# 244 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\types.h" 3
typedef long fd_mask;
typedef struct _types_fd_set {
fd_mask fds_bits[(((64)+(((sizeof (fd_mask) * 8))-1))/((sizeof (fd_mask) * 8)))];
} _types_fd_set;
# 275 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\types.h" 3
typedef unsigned long clockid_t;
typedef unsigned long timer_t;
typedef unsigned long useconds_t;
typedef long suseconds_t;
# 48 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 2 3
extern "C" {
typedef __FILE FILE;
typedef _fpos_t fpos_t;
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\stdio.h" 1 3
# 63 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 2 3
# 162 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 3
FILE * tmpfile (void);
char * tmpnam (char *);
int fclose (FILE *);
int fflush (FILE *);
FILE * freopen (const char *__restrict, const char *__restrict, FILE *__restrict);
void setbuf (FILE *__restrict, char *__restrict);
int setvbuf (FILE *__restrict, char *__restrict, int, size_t);
int fprintf (FILE *__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 2, 3)))
;
int fscanf (FILE *__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__scanf__, 2, 3)))
;
int printf (const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 1, 2)))
;
int scanf (const char *__restrict, ...) __attribute__ ((__format__ (__scanf__, 1, 2)))
;
int sscanf (const char *__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__scanf__, 2, 3)))
;
int vfprintf (FILE *__restrict, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 2, 0)))
;
int vprintf (const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 1, 0)))
;
int vsprintf (char *__restrict, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 2, 0)))
;
int fgetc (FILE *);
char * fgets (char *__restrict, int, FILE *__restrict);
int fputc (int, FILE *);
int fputs (const char *__restrict, FILE *__restrict);
int getc (FILE *);
int getchar (void);
char * gets (char *);
int putc (int, FILE *);
int putchar (int);
int puts (const char *);
int ungetc (int, FILE *);
size_t fread (void * __restrict, size_t _size, size_t _n, FILE *__restrict);
size_t fwrite (const void * __restrict , size_t _size, size_t _n, FILE *);
int fgetpos (FILE *__restrict, fpos_t *__restrict);
int fseek (FILE *, long, int);
int fsetpos (FILE *, const fpos_t *);
long ftell ( FILE *);
void rewind (FILE *);
void clearerr (FILE *);
int feof (FILE *);
int ferror (FILE *);
void perror (const char *);
FILE * fopen (const char *__restrict _name, const char *__restrict _type);
int sprintf (char *__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 2, 3)))
;
int remove (const char *);
int rename (const char *, const char *);
# 230 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 3
int fseeko (FILE *, off_t, int);
off_t ftello ( FILE *);
int asiprintf (char **, const char *, ...) __attribute__ ((__format__ (__printf__, 2, 3)))
;
char * asniprintf (char *, size_t *, const char *, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
char * asnprintf (char *__restrict, size_t *__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
int asprintf (char **__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 2, 3)))
;
int diprintf (int, const char *, ...) __attribute__ ((__format__ (__printf__, 2, 3)))
;
int fcloseall (void);
int fiprintf (FILE *, const char *, ...) __attribute__ ((__format__ (__printf__, 2, 3)))
;
int fiscanf (FILE *, const char *, ...) __attribute__ ((__format__ (__scanf__, 2, 3)))
;
int iprintf (const char *, ...) __attribute__ ((__format__ (__printf__, 1, 2)))
;
int iscanf (const char *, ...) __attribute__ ((__format__ (__scanf__, 1, 2)))
;
int siprintf (char *, const char *, ...) __attribute__ ((__format__ (__printf__, 2, 3)))
;
int siscanf (const char *, const char *, ...) __attribute__ ((__format__ (__scanf__, 2, 3)))
;
int snprintf (char *__restrict, size_t, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
int sniprintf (char *, size_t, const char *, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
char * tempnam (const char *, const char *);
int vasiprintf (char **, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 2, 0)))
;
char * vasniprintf (char *, size_t *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
char * vasnprintf (char *, size_t *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
int vasprintf (char **, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 2, 0)))
;
int vdiprintf (int, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 2, 0)))
;
int vfiprintf (FILE *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 2, 0)))
;
int vfiscanf (FILE *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 2, 0)))
;
int vfscanf (FILE *__restrict, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 2, 0)))
;
int viprintf (const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 1, 0)))
;
int viscanf (const char *, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 1, 0)))
;
int vscanf (const char *, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 1, 0)))
;
int vsiprintf (char *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 2, 0)))
;
int vsiscanf (const char *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 2, 0)))
;
int vsniprintf (char *, size_t, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
int vsnprintf (char *__restrict, size_t, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
int vsscanf (const char *__restrict, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 2, 0)))
;
# 307 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 3
FILE * fdopen (int, const char *);
int fileno (FILE *);
int getw (FILE *);
int pclose (FILE *);
FILE * popen (const char *, const char *);
int putw (int, FILE *);
void setbuffer (FILE *, char *, int);
int setlinebuf (FILE *);
int getc_unlocked (FILE *);
int getchar_unlocked (void);
void flockfile (FILE *);
int ftrylockfile (FILE *);
void funlockfile (FILE *);
int putc_unlocked (int, FILE *);
int putchar_unlocked (int);
# 332 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 3
int dprintf (int, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 2, 3)))
;
FILE * fmemopen (void *__restrict, size_t, const char *__restrict);
FILE * open_memstream (char **, size_t *);
int vdprintf (int, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 2, 0)))
;
int _asiprintf_r (struct _reent *, char **, const char *, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
char * _asniprintf_r (struct _reent *, char *, size_t *, const char *, ...) __attribute__ ((__format__ (__printf__, 4, 5)))
;
char * _asnprintf_r (struct _reent *, char *__restrict, size_t *__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 4, 5)))
;
int _asprintf_r (struct _reent *, char **__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
int _diprintf_r (struct _reent *, int, const char *, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
int _dprintf_r (struct _reent *, int, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
int _fclose_r (struct _reent *, FILE *);
int _fcloseall_r (struct _reent *);
FILE * _fdopen_r (struct _reent *, int, const char *);
int _fflush_r (struct _reent *, FILE *);
int _fgetc_r (struct _reent *, FILE *);
char * _fgets_r (struct _reent *, char *__restrict, int, FILE *__restrict);
int _fgetpos_r (struct _reent *, FILE *, fpos_t *);
int _fsetpos_r (struct _reent *, FILE *, const fpos_t *);
int _fiprintf_r (struct _reent *, FILE *, const char *, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
int _fiscanf_r (struct _reent *, FILE *, const char *, ...) __attribute__ ((__format__ (__scanf__, 3, 4)))
;
FILE * _fmemopen_r (struct _reent *, void *__restrict, size_t, const char *__restrict);
FILE * _fopen_r (struct _reent *, const char *__restrict, const char *__restrict);
FILE * _freopen_r (struct _reent *, const char *__restrict, const char *__restrict, FILE *__restrict);
int _fprintf_r (struct _reent *, FILE *__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
int _fpurge_r (struct _reent *, FILE *);
int _fputc_r (struct _reent *, int, FILE *);
int _fputs_r (struct _reent *, const char *__restrict, FILE *__restrict);
size_t _fread_r (struct _reent *, void * __restrict, size_t _size, size_t _n, FILE *__restrict);
int _fscanf_r (struct _reent *, FILE *__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__scanf__, 3, 4)))
;
int _fseek_r (struct _reent *, FILE *, long, int);
int _fseeko_r (struct _reent *, FILE *, _off_t, int);
long _ftell_r (struct _reent *, FILE *);
_off_t _ftello_r (struct _reent *, FILE *);
void _rewind_r (struct _reent *, FILE *);
size_t _fwrite_r (struct _reent *, const void * __restrict, size_t _size, size_t _n, FILE *__restrict);
int _getc_r (struct _reent *, FILE *);
int _getc_unlocked_r (struct _reent *, FILE *);
int _getchar_r (struct _reent *);
int _getchar_unlocked_r (struct _reent *);
char * _gets_r (struct _reent *, char *);
int _iprintf_r (struct _reent *, const char *, ...) __attribute__ ((__format__ (__printf__, 2, 3)))
;
int _iscanf_r (struct _reent *, const char *, ...) __attribute__ ((__format__ (__scanf__, 2, 3)))
;
FILE * _open_memstream_r (struct _reent *, char **, size_t *);
void _perror_r (struct _reent *, const char *);
int _printf_r (struct _reent *, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 2, 3)))
;
int _putc_r (struct _reent *, int, FILE *);
int _putc_unlocked_r (struct _reent *, int, FILE *);
int _putchar_unlocked_r (struct _reent *, int);
int _putchar_r (struct _reent *, int);
int _puts_r (struct _reent *, const char *);
int _remove_r (struct _reent *, const char *);
int _rename_r (struct _reent *, const char *_old, const char *_new)
;
int _scanf_r (struct _reent *, const char *__restrict, ...) __attribute__ ((__format__ (__scanf__, 2, 3)))
;
int _siprintf_r (struct _reent *, char *, const char *, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
int _siscanf_r (struct _reent *, const char *, const char *, ...) __attribute__ ((__format__ (__scanf__, 3, 4)))
;
int _sniprintf_r (struct _reent *, char *, size_t, const char *, ...) __attribute__ ((__format__ (__printf__, 4, 5)))
;
int _snprintf_r (struct _reent *, char *__restrict, size_t, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 4, 5)))
;
int _sprintf_r (struct _reent *, char *__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__printf__, 3, 4)))
;
int _sscanf_r (struct _reent *, const char *__restrict, const char *__restrict, ...) __attribute__ ((__format__ (__scanf__, 3, 4)))
;
char * _tempnam_r (struct _reent *, const char *, const char *);
FILE * _tmpfile_r (struct _reent *);
char * _tmpnam_r (struct _reent *, char *);
int _ungetc_r (struct _reent *, int, FILE *);
int _vasiprintf_r (struct _reent *, char **, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
char * _vasniprintf_r (struct _reent*, char *, size_t *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 4, 0)))
;
char * _vasnprintf_r (struct _reent*, char *, size_t *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 4, 0)))
;
int _vasprintf_r (struct _reent *, char **, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
int _vdiprintf_r (struct _reent *, int, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
int _vdprintf_r (struct _reent *, int, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
int _vfiprintf_r (struct _reent *, FILE *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
int _vfiscanf_r (struct _reent *, FILE *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 3, 0)))
;
int _vfprintf_r (struct _reent *, FILE *__restrict, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
int _vfscanf_r (struct _reent *, FILE *__restrict, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 3, 0)))
;
int _viprintf_r (struct _reent *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 2, 0)))
;
int _viscanf_r (struct _reent *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 2, 0)))
;
int _vprintf_r (struct _reent *, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 2, 0)))
;
int _vscanf_r (struct _reent *, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 2, 0)))
;
int _vsiprintf_r (struct _reent *, char *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
int _vsiscanf_r (struct _reent *, const char *, const char *, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 3, 0)))
;
int _vsniprintf_r (struct _reent *, char *, size_t, const char *, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 4, 0)))
;
int _vsnprintf_r (struct _reent *, char *__restrict, size_t, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 4, 0)))
;
int _vsprintf_r (struct _reent *, char *__restrict, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__printf__, 3, 0)))
;
int _vsscanf_r (struct _reent *, const char *__restrict, const char *__restrict, __gnuc_va_list) __attribute__ ((__format__ (__scanf__, 3, 0)))
;
int fpurge (FILE *);
ssize_t __getdelim (char **, size_t *, int, FILE *);
ssize_t __getline (char **, size_t *, FILE *);
# 509 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 3
int __srget_r (struct _reent *, FILE *);
int __swbuf_r (struct _reent *, int, FILE *);
# 533 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 3
FILE *funopen (const void * __cookie, int (*__readfn)(void * __cookie, char *__buf, int __n), int (*__writefn)(void * __cookie, const char *__buf, int __n), fpos_t (*__seekfn)(void * __cookie, fpos_t __off, int __whence), int (*__closefn)(void * __cookie))
;
FILE *_funopen_r (struct _reent *, const void * __cookie, int (*__readfn)(void * __cookie, char *__buf, int __n), int (*__writefn)(void * __cookie, const char *__buf, int __n), fpos_t (*__seekfn)(void * __cookie, fpos_t __off, int __whence), int (*__closefn)(void * __cookie))
;
typedef ssize_t cookie_read_function_t(void *__cookie, char *__buf, size_t __n);
typedef ssize_t cookie_write_function_t(void *__cookie, const char *__buf,
size_t __n);
typedef int cookie_seek_function_t(void *__cookie, off_t *__off, int __whence);
typedef int cookie_close_function_t(void *__cookie);
typedef struct
{
cookie_read_function_t *read;
cookie_write_function_t *write;
cookie_seek_function_t *seek;
cookie_close_function_t *close;
} cookie_io_functions_t;
FILE *fopencookie (void *__cookie, const char *__mode, cookie_io_functions_t __functions)
;
FILE *_fopencookie_r (struct _reent *, void *__cookie, const char *__mode, cookie_io_functions_t __functions)
;
# 685 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdio.h" 3
}
# 43 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\string.h" 1 3
# 12 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\string.h" 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include-fixed\\sys\\cdefs.h" 1 3 4
# 54 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include-fixed\\sys\\cdefs.h" 3 4
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 1 3 4
# 55 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include-fixed\\sys\\cdefs.h" 2 3 4
# 13 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\string.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 1 3 4
# 18 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\string.h" 2 3
extern "C" {
void * memchr (const void *, int, size_t);
int memcmp (const void *, const void *, size_t);
void * memcpy (void * , const void * , size_t);
void * memmove (void *, const void *, size_t);
void * memset (void *, int, size_t);
char *strcat (char *, const char *);
char *strchr (const char *, int);
int strcmp (const char *, const char *);
int strcoll (const char *, const char *);
char *strcpy (char *, const char *);
size_t strcspn (const char *, const char *);
char *strerror (int);
size_t strlen (const char *);
char *strncat (char *, const char *, size_t);
int strncmp (const char *, const char *, size_t);
char *strncpy (char *, const char *, size_t);
char *strpbrk (const char *, const char *);
char *strrchr (const char *, int);
size_t strspn (const char *, const char *);
char *strstr (const char *, const char *);
char *strtok (char *, const char *);
size_t strxfrm (char *, const char *, size_t);
char *strtok_r (char *, const char *, char **);
int bcmp (const void *, const void *, size_t);
void bcopy (const void *, void *, size_t);
void bzero (void *, size_t);
int ffs (int);
char *index (const char *, int);
void * memccpy (void * , const void * , int, size_t);
void * mempcpy (void *, const void *, size_t);
void * memmem (const void *, size_t, const void *, size_t);
void * memrchr (const void *, int, size_t);
void * rawmemchr (const void *, int);
char *rindex (const char *, int);
char *stpcpy (char *, const char *);
char *stpncpy (char *, const char *, size_t);
int strcasecmp (const char *, const char *);
char *strcasestr (const char *, const char *);
char *strchrnul (const char *, int);
char *strdup (const char *);
char *_strdup_r (struct _reent *, const char *);
char *strndup (const char *, size_t);
char *_strndup_r (struct _reent *, const char *, size_t);
# 87 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\string.h" 3
int strerror_r (int, char *, size_t) __asm__ ("" "__xpg_strerror_r");
size_t strlcat (char *, const char *, size_t);
size_t strlcpy (char *, const char *, size_t);
int strncasecmp (const char *, const char *, size_t);
size_t strnlen (const char *, size_t);
char *strsep (char **, const char *);
char *strlwr (char *);
char *strupr (char *);
char *strsignal (int __signo);
char * _strerror_r (struct _reent *, int, int, int *);
# 140 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\string.h" 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\sys\\string.h" 1 3
# 141 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\string.h" 2 3
}
# 46 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/WString.h" 1
# 28 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/WString.h"
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\ctype.h" 1 3
extern "C" {
int isalnum (int __c);
int isalpha (int __c);
int iscntrl (int __c);
int isdigit (int __c);
int isgraph (int __c);
int islower (int __c);
int isprint (int __c);
int ispunct (int __c);
int isspace (int __c);
int isupper (int __c);
int isxdigit (int __c);
int tolower (int __c);
int toupper (int __c);
int isblank (int __c);
int isascii (int __c);
int toascii (int __c);
# 43 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\ctype.h" 3
const
extern char *__ctype_ptr__;
# 109 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\ctype.h" 3
extern const char _ctype_[];
}
# 29 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/WString.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/avr/pgmspace.h" 1
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\inttypes.h" 1 3
# 17 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\inttypes.h" 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stdint.h" 1 3 4
# 9 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stdint.h" 3 4
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdint.h" 1 3 4
# 15 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdint.h" 3 4
extern "C" {
# 41 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdint.h" 3 4
typedef __int8_t int8_t ;
typedef __uint8_t uint8_t ;
typedef __int_least8_t int_least8_t;
typedef __uint_least8_t uint_least8_t;
typedef __int16_t int16_t ;
typedef __uint16_t uint16_t ;
typedef __int_least16_t int_least16_t;
typedef __uint_least16_t uint_least16_t;
typedef __int32_t int32_t ;
typedef __uint32_t uint32_t ;
typedef __int_least32_t int_least32_t;
typedef __uint_least32_t uint_least32_t;
typedef __int64_t int64_t ;
typedef __uint64_t uint64_t ;
typedef __int_least64_t int_least64_t;
typedef __uint_least64_t uint_least64_t;
# 95 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdint.h" 3 4
typedef int int_fast8_t;
typedef unsigned int uint_fast8_t;
# 105 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdint.h" 3 4
typedef int int_fast16_t;
typedef unsigned int uint_fast16_t;
# 115 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdint.h" 3 4
typedef int int_fast32_t;
typedef unsigned int uint_fast32_t;
# 125 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdint.h" 3 4
typedef long long int int_fast64_t;
typedef long long unsigned int uint_fast64_t;
# 174 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdint.h" 3 4
typedef long long int intmax_t;
# 183 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdint.h" 3 4
typedef long long unsigned int uintmax_t;
typedef __intptr_t intptr_t;
typedef __uintptr_t uintptr_t;
# 514 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\stdint.h" 3 4
}
# 10 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stdint.h" 2 3 4
# 18 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\inttypes.h" 2 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\lib\\gcc\\arm-none-eabi\\4.8.3\\include\\stddef.h" 1 3 4
# 20 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\inttypes.h" 2 3
# 280 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\inttypes.h" 3
typedef struct {
intmax_t quot;
intmax_t rem;
} imaxdiv_t;
extern "C" {
extern intmax_t imaxabs(intmax_t j);
extern imaxdiv_t imaxdiv(intmax_t numer, intmax_t denomer);
extern intmax_t strtoimax(const char *, char **, int);
extern uintmax_t strtoumax(const char *, char **, int);
extern intmax_t wcstoimax(const wchar_t *, wchar_t **, int);
extern uintmax_t wcstoumax(const wchar_t *, wchar_t **, int);
}
# 5 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/avr/pgmspace.h" 2
typedef void prog_void;
typedef char prog_char;
typedef unsigned char prog_uchar;
typedef int8_t prog_int8_t;
typedef uint8_t prog_uint8_t;
typedef int16_t prog_int16_t;
typedef uint16_t prog_uint16_t;
typedef int32_t prog_int32_t;
typedef uint32_t prog_uint32_t;
# 30 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/WString.h" 2
class __FlashStringHelper;
class StringSumHelper;
class String
{
typedef void (String::*StringIfHelperType)() const;
void StringIfHelper() const {}
public:
String(const char *cstr = "");
String(const String &str);
String(const __FlashStringHelper *str);
explicit String(char c);
explicit String(unsigned char, unsigned char base=10);
explicit String(int, unsigned char base=10);
explicit String(unsigned int, unsigned char base=10);
explicit String(long, unsigned char base=10);
explicit String(unsigned long, unsigned char base=10);
explicit String(float, unsigned char decimalPlaces=2);
explicit String(double, unsigned char decimalPlaces=2);
~String(void);
unsigned char reserve(unsigned int size);
inline unsigned int length(void) const {return len;}
String & operator = (const String &rhs);
String & operator = (const char *cstr);
String & operator = (const __FlashStringHelper *str);
# 99 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/WString.h"
unsigned char concat(const String &str);
unsigned char concat(const char *cstr);
unsigned char concat(char c);
unsigned char concat(unsigned char c);
unsigned char concat(int num);
unsigned char concat(unsigned int num);
unsigned char concat(long num);
unsigned char concat(unsigned long num);
unsigned char concat(float num);
unsigned char concat(double num);
unsigned char concat(const __FlashStringHelper * str);
String & operator += (const String &rhs) {concat(rhs); return (*this);}
String & operator += (const char *cstr) {concat(cstr); return (*this);}
String & operator += (char c) {concat(c); return (*this);}
String & operator += (unsigned char num) {concat(num); return (*this);}
String & operator += (int num) {concat(num); return (*this);}
String & operator += (unsigned int num) {concat(num); return (*this);}
String & operator += (long num) {concat(num); return (*this);}
String & operator += (unsigned long num) {concat(num); return (*this);}
String & operator += (float num) {concat(num); return (*this);}
String & operator += (double num) {concat(num); return (*this);}
String & operator += (const __FlashStringHelper *str){concat(str); return (*this);}
friend StringSumHelper & operator + (const StringSumHelper &lhs, const String &rhs);
friend StringSumHelper & operator + (const StringSumHelper &lhs, const char *cstr);
friend StringSumHelper & operator + (const StringSumHelper &lhs, char c);
friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned char num);
friend StringSumHelper & operator + (const StringSumHelper &lhs, int num);
friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned int num);
friend StringSumHelper & operator + (const StringSumHelper &lhs, long num);
friend StringSumHelper & operator + (const StringSumHelper &lhs, unsigned long num);
friend StringSumHelper & operator + (const StringSumHelper &lhs, float num);
friend StringSumHelper & operator + (const StringSumHelper &lhs, double num);
friend StringSumHelper & operator + (const StringSumHelper &lhs, const __FlashStringHelper *rhs);
operator StringIfHelperType() const { return buffer ? &String::StringIfHelper : 0; }
int compareTo(const String &s) const;
unsigned char equals(const String &s) const;
unsigned char equals(const char *cstr) const;
unsigned char operator == (const String &rhs) const {return equals(rhs);}
unsigned char operator == (const char *cstr) const {return equals(cstr);}
unsigned char operator != (const String &rhs) const {return !equals(rhs);}
unsigned char operator != (const char *cstr) const {return !equals(cstr);}
unsigned char operator < (const String &rhs) const;
unsigned char operator > (const String &rhs) const;
unsigned char operator <= (const String &rhs) const;
unsigned char operator >= (const String &rhs) const;
unsigned char equalsIgnoreCase(const String &s) const;
unsigned char startsWith( const String &prefix) const;
unsigned char startsWith(const String &prefix, unsigned int offset) const;
unsigned char endsWith(const String &suffix) const;
char charAt(unsigned int index) const;
void setCharAt(unsigned int index, char c);
char operator [] (unsigned int index) const;
char& operator [] (unsigned int index);
void getBytes(unsigned char *buf, unsigned int bufsize, unsigned int index=0) const;
void toCharArray(char *buf, unsigned int bufsize, unsigned int index=0) const
{getBytes((unsigned char *)buf, bufsize, index);}
const char * c_str() const { return buffer; }
int indexOf( char ch ) const;
int indexOf( char ch, unsigned int fromIndex ) const;
int indexOf( const String &str ) const;
int indexOf( const String &str, unsigned int fromIndex ) const;
int lastIndexOf( char ch ) const;
int lastIndexOf( char ch, unsigned int fromIndex ) const;
int lastIndexOf( const String &str ) const;
int lastIndexOf( const String &str, unsigned int fromIndex ) const;
String substring( unsigned int beginIndex ) const { return substring(beginIndex, len); };
String substring( unsigned int beginIndex, unsigned int endIndex ) const;
void replace(char find, char replace);
void replace(const String& find, const String& replace);
void remove(unsigned int index);
void remove(unsigned int index, unsigned int count);
void toLowerCase(void);
void toUpperCase(void);
void trim(void);
long toInt(void) const;
float toFloat(void) const;
protected:
char *buffer;
unsigned int capacity;
unsigned int len;
protected:
void init(void);
void invalidate(void);
unsigned char changeBuffer(unsigned int maxStrLen);
unsigned char concat(const char *cstr, unsigned int length);
String & copy(const char *cstr, unsigned int length);
String & copy(const __FlashStringHelper *pstr, unsigned int length);
};
class StringSumHelper : public String
{
public:
StringSumHelper(const String &s) : String(s) {}
StringSumHelper(const char *p) : String(p) {}
StringSumHelper(char c) : String(c) {}
StringSumHelper(unsigned char num) : String(num) {}
StringSumHelper(int num) : String(num) {}
StringSumHelper(unsigned int num) : String(num) {}
StringSumHelper(long num) : String(num) {}
StringSumHelper(unsigned long num) : String(num) {}
StringSumHelper(float num) : String(num) {}
StringSumHelper(double num) : String(num) {}
};
# 47 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/avr/interrupt.h" 1
# 49 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/stm32.h" 1
# 42 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/stm32.h"
extern "C" {
# 70 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/stm32.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/stm32.h" 1
# 40 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/stm32.h"
extern "C" {
# 228 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/stm32.h"
}
# 71 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/stm32.h" 2
# 234 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/stm32.h"
}
# 51 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/boards.h" 1
# 38 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/boards.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_types.h" 1
# 37 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_types.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/gpio.h" 1
# 37 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/gpio.h"
extern "C"{
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h" 1
# 38 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h"
extern "C"{
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/exti.h" 1
# 38 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/exti.h"
extern "C"{
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/exti.h" 1
# 39 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/exti.h"
struct exti_reg_map;
# 42 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/exti.h" 2
typedef struct exti_reg_map {
volatile uint32 IMR;
volatile uint32 EMR;
volatile uint32 RTSR;
volatile uint32 FTSR;
volatile uint32 SWIER;
volatile uint32 PR;
} exti_reg_map;
# 66 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/exti.h"
typedef enum exti_num {
EXTI0,
EXTI1,
EXTI2,
EXTI3,
EXTI4,
EXTI5,
EXTI6,
EXTI7,
EXTI8,
EXTI9,
EXTI10,
EXTI11,
EXTI12,
EXTI13,
EXTI14,
EXTI15,
} exti_num;
typedef enum exti_cfg {
EXTI_PA,
EXTI_PB,
EXTI_PC,
EXTI_PD,
EXTI_PE,
EXTI_PF,
EXTI_PG,
EXTI_PH,
EXTI_PI,
} exti_cfg;
typedef enum exti_trigger_mode {
EXTI_RISING,
EXTI_FALLING,
EXTI_RISING_FALLING
} exti_trigger_mode;
void exti_attach_interrupt(exti_num num,
exti_cfg port,
voidFuncPtr handler,
exti_trigger_mode mode);
void exti_attach_callback(exti_num num,
exti_cfg port,
voidArgumentFuncPtr handler,
void *arg,
exti_trigger_mode mode);
void exti_detach_interrupt(exti_num num);
# 137 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/exti.h"
extern void exti_select(exti_num num, exti_cfg port);
}
# 44 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h" 2
typedef struct gpio_reg_map {
volatile uint32 CRL;
volatile uint32 CRH;
volatile uint32 IDR;
volatile uint32 ODR;
volatile uint32 BSRR;
volatile uint32 BRR;
volatile uint32 LCKR;
} gpio_reg_map;
struct gpio_dev;
extern struct gpio_dev gpioa;
extern struct gpio_dev* const GPIOA;
extern struct gpio_dev gpiob;
extern struct gpio_dev* const GPIOB;
extern struct gpio_dev gpioc;
extern struct gpio_dev* const GPIOC;
extern struct gpio_dev gpiod;
extern struct gpio_dev* const GPIOD;
# 119 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h"
typedef enum gpio_pin_mode {
GPIO_OUTPUT_PP = (0x0 << 2) | 0x3,
GPIO_OUTPUT_OD = (0x1 << 2) | 0x3,
GPIO_AF_OUTPUT_PP = (0x2 << 2) | 0x3,
GPIO_AF_OUTPUT_OD = (0x3 << 2) | 0x3,
GPIO_INPUT_ANALOG = (0x0 << 2) | 0x0,
GPIO_INPUT_FLOATING = (0x1 << 2) | 0x0,
GPIO_INPUT_PD = (0x2 << 2) | 0x0,
GPIO_INPUT_PU,
} gpio_pin_mode;
# 147 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h"
typedef struct afio_reg_map {
volatile uint32 EVCR;
volatile uint32 MAPR;
volatile uint32 EXTICR1;
volatile uint32 EXTICR2;
volatile uint32 EXTICR3;
volatile uint32 EXTICR4;
volatile uint32 MAPR2;
} afio_reg_map;
# 313 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h"
void afio_init(void);
# 323 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h"
typedef enum afio_remap_peripheral {
AFIO_REMAP_ADC2_ETRGREG = (1U << 20),
AFIO_REMAP_ADC2_ETRGINJ = (1U << 19),
AFIO_REMAP_ADC1_ETRGREG = (1U << 18),
AFIO_REMAP_ADC1_ETRGINJ = (1U << 17),
AFIO_REMAP_TIM5CH4_I = (1U << 16),
AFIO_REMAP_PD01 = (1U << 15),
AFIO_REMAP_CAN_1 = (0x2 << 13),
AFIO_REMAP_CAN_2 = (0x3 << 13),
AFIO_REMAP_TIM4 = (1U << 12),
AFIO_REMAP_TIM3_PARTIAL = (0x2 << 10),
AFIO_REMAP_TIM3_FULL = (0x3 << 10),
AFIO_REMAP_TIM2_PARTIAL_1 = (0x1 << 8),
AFIO_REMAP_TIM2_PARTIAL_2 = (0x2 << 8),
AFIO_REMAP_TIM2_FULL = (0x3 << 8),
AFIO_REMAP_USART2 = (1U << 3),
AFIO_REMAP_USART1 = (1U << 2),
AFIO_REMAP_I2C1 = (1U << 1),
AFIO_REMAP_SPI1 = (1U << 0),
AFIO_REMAP_FSMC_NADV = (1U << 10) | (1U << 31),
AFIO_REMAP_TIM14 = (1U << 9) | (1U << 31),
AFIO_REMAP_TIM13 = (1U << 8) | (1U << 31),
AFIO_REMAP_TIM11 = (1U << 7) | (1U << 31),
AFIO_REMAP_TIM10 = (1U << 6) | (1U << 31),
AFIO_REMAP_TIM9 = (1U << 5) | (1U << 31),
} afio_remap_peripheral;
void afio_remap(afio_remap_peripheral p);
# 388 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h"
typedef enum afio_debug_cfg {
AFIO_DEBUG_FULL_SWJ = (0x0 << 24),
AFIO_DEBUG_FULL_SWJ_NO_NJRST = (0x1 << 24),
AFIO_DEBUG_SW_ONLY = (0x2 << 24),
AFIO_DEBUG_NONE = (0x4 << 24),
} afio_debug_cfg;
static inline void afio_cfg_debug_ports(afio_debug_cfg config) {
volatile uint32 *mapr = &((struct afio_reg_map *)0x40010000)->MAPR;
*mapr = (*mapr & ~(0x7 << 24)) | config;
}
# 422 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h"
typedef exti_cfg afio_exti_port;
# 447 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h"
typedef exti_num afio_exti_num;
# 485 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/gpio.h"
static __attribute__((__always_inline__)) void afio_exti_select(exti_num exti, exti_cfg port) {
exti_select(exti, port);
}
}
# 45 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/gpio.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/rcc.h" 1
# 36 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/rcc.h"
extern "C"{
# 47 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/rcc.h"
typedef enum rcc_sysclk_src {
RCC_CLKSRC_HSI = 0x0,
RCC_CLKSRC_HSE = 0x1,
RCC_CLKSRC_PLL = 0x2,
} rcc_sysclk_src;
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/rcc.h" 1
# 37 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/rcc.h"
extern "C"{
# 47 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/rcc.h"
typedef struct rcc_reg_map {
volatile uint32 CR;
volatile uint32 CFGR;
volatile uint32 CIR;
volatile uint32 APB2RSTR;
volatile uint32 APB1RSTR;
volatile uint32 AHBENR;
volatile uint32 APB2ENR;
volatile uint32 APB1ENR;
volatile uint32 BDCR;
volatile uint32 CSR;
} rcc_reg_map;
# 393 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/rcc.h"
typedef enum rcc_clk_id {
RCC_ADC1,
RCC_ADC2,
RCC_ADC3,
RCC_AFIO,
RCC_BKP,
RCC_CRC,
RCC_DAC,
RCC_DMA1,
RCC_DMA2,
RCC_FLITF,
RCC_FSMC,
RCC_GPIOA,
RCC_GPIOB,
RCC_GPIOC,
RCC_GPIOD,
RCC_GPIOE,
RCC_GPIOF,
RCC_GPIOG,
RCC_I2C1,
RCC_I2C2,
RCC_PWR,
RCC_SDIO,
RCC_SPI1,
RCC_SPI2,
RCC_SPI3,
RCC_SRAM,
RCC_TIMER1,
RCC_TIMER2,
RCC_TIMER3,
RCC_TIMER4,
RCC_TIMER5,
RCC_TIMER6,
RCC_TIMER7,
RCC_TIMER8,
RCC_TIMER9,
RCC_TIMER10,
RCC_TIMER11,
RCC_TIMER12,
RCC_TIMER13,
RCC_TIMER14,
RCC_USART1,
RCC_USART2,
RCC_USART3,
RCC_UART4,
RCC_UART5,
RCC_USB,
} rcc_clk_id;
typedef enum rcc_pllsrc {
RCC_PLLSRC_HSE = (0x1 << 16),
RCC_PLLSRC_HSI_DIV_2 = (0x0 << 16)
} rcc_pllsrc;
typedef enum rcc_clk_domain {
RCC_APB1,
RCC_APB2,
RCC_AHB
} rcc_clk_domain;
typedef enum rcc_prescaler {
RCC_PRESCALER_AHB,
RCC_PRESCALER_APB1,
RCC_PRESCALER_APB2,
RCC_PRESCALER_USB,
RCC_PRESCALER_ADC
} rcc_prescaler;
typedef enum rcc_adc_divider {
RCC_ADCPRE_PCLK_DIV_2 = 0x0 << 14,
RCC_ADCPRE_PCLK_DIV_4 = 0x1 << 14,
RCC_ADCPRE_PCLK_DIV_6 = 0x2 << 14,
RCC_ADCPRE_PCLK_DIV_8 = 0x3 << 14,
} rcc_adc_divider;
typedef enum rcc_apb1_divider {
RCC_APB1_HCLK_DIV_1 = 0x0 << 8,
RCC_APB1_HCLK_DIV_2 = 0x4 << 8,
RCC_APB1_HCLK_DIV_4 = 0x5 << 8,
RCC_APB1_HCLK_DIV_8 = 0x6 << 8,
RCC_APB1_HCLK_DIV_16 = 0x7 << 8,
} rcc_apb1_divider;
typedef enum rcc_apb2_divider {
RCC_APB2_HCLK_DIV_1 = 0x0 << 11,
RCC_APB2_HCLK_DIV_2 = 0x4 << 11,
RCC_APB2_HCLK_DIV_4 = 0x5 << 11,
RCC_APB2_HCLK_DIV_8 = 0x6 << 11,
RCC_APB2_HCLK_DIV_16 = 0x7 << 11,
} rcc_apb2_divider;
typedef enum rcc_ahb_divider {
RCC_AHB_SYSCLK_DIV_1 = 0x0 << 4,
RCC_AHB_SYSCLK_DIV_2 = 0x8 << 4,
RCC_AHB_SYSCLK_DIV_4 = 0x9 << 4,
RCC_AHB_SYSCLK_DIV_8 = 0xA << 4,
RCC_AHB_SYSCLK_DIV_16 = 0xB << 4,
RCC_AHB_SYSCLK_DIV_32 = 0xC << 4,
RCC_AHB_SYSCLK_DIV_64 = 0xD << 4,
RCC_AHB_SYSCLK_DIV_128 = 0xD << 4,
RCC_AHB_SYSCLK_DIV_256 = 0xE << 4,
RCC_AHB_SYSCLK_DIV_512 = 0xF << 4,
} rcc_ahb_divider;
typedef enum rcc_clk {
RCC_CLK_PLL = (uint16)((__builtin_offsetof (struct rcc_reg_map, CR) << 8) |
24),
RCC_CLK_HSE = (uint16)((__builtin_offsetof (struct rcc_reg_map, CR) << 8) |
16),
RCC_CLK_HSI = (uint16)((__builtin_offsetof (struct rcc_reg_map, CR) << 8) |
0),
RCC_CLK_LSE = (uint16)((__builtin_offsetof (struct rcc_reg_map, BDCR) << 8) |
0),
RCC_CLK_LSI = (uint16)((__builtin_offsetof (struct rcc_reg_map, CSR) << 8) |
0),
} rcc_clk;
typedef enum rcc_pll_multiplier {
RCC_PLLMUL_2 = (0x0 << 18),
RCC_PLLMUL_3 = (0x1 << 18),
RCC_PLLMUL_4 = (0x2 << 18),
RCC_PLLMUL_5 = (0x3 << 18),
RCC_PLLMUL_6 = (0x4 << 18),
RCC_PLLMUL_7 = (0x5 << 18),
RCC_PLLMUL_8 = (0x6 << 18),
RCC_PLLMUL_9 = (0x7 << 18),
RCC_PLLMUL_10 = (0x8 << 18),
RCC_PLLMUL_11 = (0x9 << 18),
RCC_PLLMUL_12 = (0xA << 18),
RCC_PLLMUL_13 = (0xB << 18),
RCC_PLLMUL_14 = (0xC << 18),
RCC_PLLMUL_15 = (0xD << 18),
RCC_PLLMUL_16 = (0xE << 18),
} rcc_pll_multiplier;
# 572 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/rcc.h"
typedef struct stm32f1_rcc_pll_data {
rcc_pll_multiplier pll_mul;
} stm32f1_rcc_pll_data;
# 590 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/rcc.h"
__attribute__((__deprecated__))
void rcc_clk_init(rcc_sysclk_src sysclk_src,
rcc_pllsrc pll_src,
rcc_pll_multiplier pll_mul);
}
# 54 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/rcc.h" 2
# 99 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/rcc.h"
extern void rcc_set_prescaler(rcc_prescaler prescaler, uint32 divider);
void rcc_switch_sysclk(rcc_sysclk_src sysclk_src);
typedef struct rcc_pll_cfg {
rcc_pllsrc pllsrc;
void *data;
} rcc_pll_cfg;
# 125 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/rcc.h"
extern void rcc_configure_pll(rcc_pll_cfg *pll_cfg);
void rcc_turn_on_clk(rcc_clk clock);
void rcc_turn_off_clk(rcc_clk clock);
int rcc_is_clk_on(rcc_clk clock);
int rcc_is_clk_ready(rcc_clk clock);
extern void rcc_clk_enable(rcc_clk_id id);
# 151 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/rcc.h"
extern void rcc_reset_dev(rcc_clk_id id);
rcc_clk_domain rcc_dev_clk(rcc_clk_id id);
static inline void rcc_enable_css() {
((struct rcc_reg_map*)0x40021000)->CR |= (1U << 19);
}
static inline void rcc_disable_css() {
((struct rcc_reg_map*)0x40021000)->CR &= ~(1U << 19);
}
}
# 47 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/gpio.h" 2
typedef struct gpio_dev {
gpio_reg_map *regs;
rcc_clk_id clk_id;
exti_cfg exti_port;
} gpio_dev;
void gpio_init(gpio_dev *dev);
void gpio_init_all(void);
void gpio_set_mode(gpio_dev *dev, uint8 pin, gpio_pin_mode mode);
static inline exti_cfg gpio_exti_port(gpio_dev *dev) {
return (exti_cfg)(EXTI_PA + (dev->clk_id - RCC_GPIOA));
}
# 90 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/gpio.h"
static inline void gpio_write_bit(gpio_dev *dev, uint8 pin, uint8 val) {
val = !val;
dev->regs->BSRR = (1U << pin) << (16 * val);
}
# 104 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/gpio.h"
static inline uint32 gpio_read_bit(gpio_dev *dev, uint8 pin) {
return dev->regs->IDR & (1U << pin);
}
static inline void gpio_toggle_bit(gpio_dev *dev, uint8 pin) {
dev->regs->ODR = dev->regs->ODR ^ (1U << pin);
}
}
# 38 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_types.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h" 1
# 37 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
extern "C"{
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/timer.h" 1
# 43 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/timer.h"
typedef struct timer_gen_reg_map {
volatile uint32 CR1;
volatile uint32 CR2;
volatile uint32 SMCR;
volatile uint32 DIER;
volatile uint32 SR;
volatile uint32 EGR;
volatile uint32 CCMR1;
volatile uint32 CCMR2;
volatile uint32 CCER;
volatile uint32 CNT;
volatile uint32 PSC;
volatile uint32 ARR;
const uint32 RESERVED1;
volatile uint32 CCR1;
volatile uint32 CCR2;
volatile uint32 CCR3;
volatile uint32 CCR4;
const uint32 RESERVED2;
volatile uint32 DCR;
volatile uint32 DMAR;
} timer_gen_reg_map;
struct timer_adv_reg_map;
struct timer_bas_reg_map;
# 107 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/timer.h"
struct timer_dev;
extern struct timer_dev *TIMER1;
extern struct timer_dev *TIMER2;
extern struct timer_dev *TIMER3;
extern struct timer_dev *TIMER4;
# 41 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/libmaple.h" 1
# 36 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/libmaple.h"
extern "C" {
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/util.h" 1
# 36 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/util.h"
extern "C"{
# 58 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/util.h"
void __error(void);
void _fail(const char*, int, const char*);
void throb(void);
# 108 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/util.h"
}
# 42 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/libmaple.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/delay.h" 1
# 37 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/delay.h"
extern "C" {
# 48 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/delay.h"
static inline void delay_us(uint32 us) {
us *= 12;
us--;
asm volatile(" mov r0, %[us] \n\t"
"1: subs r0, #1 \n\t"
" bhi 1b \n\t"
:
: [us] "r" (us)
: "r0");
}
}
# 43 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/libmaple.h" 2
}
# 42 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/nvic.h" 1
# 50 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/nvic.h"
extern "C"{
typedef struct nvic_reg_map {
volatile uint32 ISER[8];
uint32 RESERVED0[24];
volatile uint32 ICER[8];
uint32 RESERVED1[24];
volatile uint32 ISPR[8];
uint32 RESERVED2[24];
volatile uint32 ICPR[8];
uint32 RESERVED3[24];
volatile uint32 IABR[8];
uint32 RESERVED4[56];
volatile uint8 IP[240];
uint32 RESERVED5[644];
volatile uint32 STIR;
} nvic_reg_map;
# 100 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/nvic.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/nvic.h" 1
# 36 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/nvic.h"
extern "C"{
# 46 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/nvic.h"
typedef enum nvic_irq_num {
NVIC_NMI = -14,
NVIC_HARDFAULT = -13,
NVIC_MEM_MANAGE = -12,
NVIC_BUS_FAULT = -11,
NVIC_USAGE_FAULT = -10,
NVIC_SVC = -5,
NVIC_DEBUG_MON = -4,
NVIC_PEND_SVC = -2,
NVIC_SYSTICK = -1,
NVIC_WWDG = 0,
NVIC_PVD = 1,
NVIC_TAMPER = 2,
NVIC_RTC = 3,
NVIC_FLASH = 4,
NVIC_RCC = 5,
NVIC_EXTI0 = 6,
NVIC_EXTI1 = 7,
NVIC_EXTI2 = 8,
NVIC_EXTI3 = 9,
NVIC_EXTI4 = 10,
NVIC_DMA_CH1 = 11,
NVIC_DMA_CH2 = 12,
NVIC_DMA_CH3 = 13,
NVIC_DMA_CH4 = 14,
NVIC_DMA_CH5 = 15,
NVIC_DMA_CH6 = 16,
NVIC_DMA_CH7 = 17,
NVIC_ADC_1_2 = 18,
NVIC_USB_HP_CAN_TX = 19,
NVIC_USB_LP_CAN_RX0 = 20,
NVIC_CAN_RX1 = 21,
NVIC_CAN_SCE = 22,
NVIC_EXTI_9_5 = 23,
NVIC_TIMER1_BRK_TIMER9 = 24,
NVIC_TIMER1_UP_TIMER10 = 25,
NVIC_TIMER1_TRG_COM_TIMER11 = 26,
NVIC_TIMER1_CC = 27,
NVIC_TIMER2 = 28,
NVIC_TIMER3 = 29,
NVIC_TIMER4 = 30,
NVIC_I2C1_EV = 31,
NVIC_I2C1_ER = 32,
NVIC_I2C2_EV = 33,
NVIC_I2C2_ER = 34,
NVIC_SPI1 = 35,
NVIC_SPI2 = 36,
NVIC_USART1 = 37,
NVIC_USART2 = 38,
NVIC_USART3 = 39,
NVIC_EXTI_15_10 = 40,
NVIC_RTCALARM = 41,
NVIC_USBWAKEUP = 42,
NVIC_TIMER8_BRK_TIMER12 = 43,
NVIC_TIMER8_UP_TIMER13 = 44,
NVIC_TIMER8_TRG_COM_TIMER14 = 45,
NVIC_TIMER8_CC = 46,
NVIC_ADC3 = 47,
NVIC_FSMC = 48,
NVIC_SDIO = 49,
NVIC_TIMER5 = 50,
NVIC_SPI3 = 51,
NVIC_UART4 = 52,
NVIC_UART5 = 53,
NVIC_TIMER6 = 54,
NVIC_TIMER7 = 55,
NVIC_DMA2_CH1 = 56,
NVIC_DMA2_CH2 = 57,
NVIC_DMA2_CH3 = 58,
NVIC_DMA2_CH_4_5 = 59,
NVIC_TIMER1_BRK =
NVIC_TIMER1_BRK_TIMER9,
NVIC_TIMER1_UP =
NVIC_TIMER1_UP_TIMER10,
NVIC_TIMER1_TRG_COM =
NVIC_TIMER1_TRG_COM_TIMER11,
NVIC_TIMER8_BRK =
NVIC_TIMER8_BRK_TIMER12,
NVIC_TIMER8_UP =
NVIC_TIMER8_UP_TIMER13,
NVIC_TIMER8_TRG_COM =
NVIC_TIMER8_TRG_COM_TIMER14,
} nvic_irq_num;
static inline void nvic_irq_disable_all(void) {
((struct nvic_reg_map*)0xE000E100)->ICER[0] = 0xFFFFFFFF;
((struct nvic_reg_map*)0xE000E100)->ICER[1] = 0xFFFFFFFF;
}
}
# 101 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/nvic.h" 2
void nvic_init(uint32 address, uint32 offset);
void nvic_set_vector_table(uint32 address, uint32 offset);
void nvic_irq_set_priority(nvic_irq_num irqn, uint8 priority);
void nvic_sys_reset();
static __attribute__((__always_inline__)) void nvic_globalirq_enable() {
asm volatile("cpsie i");
}
static __attribute__((__always_inline__)) void nvic_globalirq_disable() {
asm volatile("cpsid i");
}
static inline void nvic_irq_enable(nvic_irq_num irq_num) {
if (irq_num < 0) {
return;
}
((struct nvic_reg_map*)0xE000E100)->ISER[irq_num / 32] = (1UL << (irq_num % 32));
}
static inline void nvic_irq_disable(nvic_irq_num irq_num) {
if (irq_num < 0) {
return;
}
((struct nvic_reg_map*)0xE000E100)->ICER[irq_num / 32] = (1UL << (irq_num % 32));
}
static inline void nvic_irq_disable_all(void);
}
# 44 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/bitband.h" 1
# 37 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/bitband.h"
extern "C" {
# 47 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/bitband.h"
static inline volatile uint32* __bb_addr(volatile void*,
uint32,
uint32,
uint32);
static inline volatile uint32* bb_sramp(volatile void *address, uint32 bit) {
return __bb_addr(address, bit, 0x22000000, 0x20000000);
}
static inline uint8 bb_sram_get_bit(volatile void *address, uint32 bit) {
return *bb_sramp(address, bit);
}
static inline void bb_sram_set_bit(volatile void *address,
uint32 bit,
uint8 val) {
*bb_sramp(address, bit) = val;
}
static inline volatile uint32* bb_perip(volatile void *address, uint32 bit) {
return __bb_addr(address, bit, 0x42000000, 0x40000000);
}
static inline uint8 bb_peri_get_bit(volatile void *address, uint32 bit) {
return *bb_perip(address, bit);
}
static inline void bb_peri_set_bit(volatile void *address,
uint32 bit,
uint8 val) {
*bb_perip(address, bit) = val;
}
static inline volatile uint32* __bb_addr(volatile void *address,
uint32 bit,
uint32 bb_base,
uint32 bb_ref) {
return (volatile uint32*)(bb_base + ((uint32)address - bb_ref) * 32 +
bit * 4);
}
}
# 45 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h" 2
typedef struct timer_adv_reg_map {
volatile uint32 CR1;
volatile uint32 CR2;
volatile uint32 SMCR;
volatile uint32 DIER;
volatile uint32 SR;
volatile uint32 EGR;
volatile uint32 CCMR1;
volatile uint32 CCMR2;
volatile uint32 CCER;
volatile uint32 CNT;
volatile uint32 PSC;
volatile uint32 ARR;
volatile uint32 RCR;
volatile uint32 CCR1;
volatile uint32 CCR2;
volatile uint32 CCR3;
volatile uint32 CCR4;
volatile uint32 BDTR;
volatile uint32 DCR;
volatile uint32 DMAR;
} timer_adv_reg_map;
typedef struct timer_bas_reg_map {
volatile uint32 CR1;
volatile uint32 CR2;
const uint32 RESERVED1;
volatile uint32 DIER;
volatile uint32 SR;
volatile uint32 EGR;
const uint32 RESERVED2;
const uint32 RESERVED3;
const uint32 RESERVED4;
volatile uint32 CNT;
volatile uint32 PSC;
volatile uint32 ARR;
} timer_bas_reg_map;
# 105 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
typedef union timer_reg_map {
timer_adv_reg_map *adv;
timer_gen_reg_map *gen;
timer_bas_reg_map *bas;
} timer_reg_map;
# 118 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
typedef enum timer_type {
TIMER_ADVANCED,
TIMER_GENERAL,
TIMER_BASIC,
} timer_type;
typedef struct timer_dev {
timer_reg_map regs;
rcc_clk_id clk_id;
timer_type type;
voidFuncPtr handlers[];
} timer_dev;
extern timer_dev *TIMER1;
extern timer_dev *TIMER2;
extern timer_dev *TIMER3;
extern timer_dev *TIMER4;
# 535 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
typedef enum timer_mode {
TIMER_DISABLED,
TIMER_PWM,
TIMER_OUTPUT_COMPARE,
} timer_mode;
typedef enum timer_channel {
TIMER_CH1 = 1,
TIMER_CH2 = 2,
TIMER_CH3 = 3,
TIMER_CH4 = 4
} timer_channel;
# 577 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
void timer_init(timer_dev *dev);
void timer_disable(timer_dev *dev);
void timer_set_mode(timer_dev *dev, uint8 channel, timer_mode mode);
void timer_foreach(void (*fn)(timer_dev*));
int timer_has_cc_channel(timer_dev *dev, uint8 channel);
# 592 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
typedef enum timer_interrupt_id {
TIMER_UPDATE_INTERRUPT,
TIMER_CC1_INTERRUPT,
TIMER_CC2_INTERRUPT,
TIMER_CC3_INTERRUPT,
TIMER_CC4_INTERRUPT,
TIMER_COM_INTERRUPT,
TIMER_TRG_INTERRUPT,
TIMER_BREAK_INTERRUPT,
} timer_interrupt_id;
void timer_attach_interrupt(timer_dev *dev,
uint8 interrupt,
voidFuncPtr handler);
void timer_detach_interrupt(timer_dev *dev, uint8 interrupt);
static inline void timer_init_all(void) {
timer_foreach(timer_init);
}
static inline void timer_disable_all(void) {
timer_foreach(timer_disable);
}
# 629 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline void timer_pause(timer_dev *dev) {
*bb_perip(&(dev->regs).bas->CR1, 0) = 0;
}
# 640 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline void timer_resume(timer_dev *dev) {
*bb_perip(&(dev->regs).bas->CR1, 0) = 1;
}
# 652 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline uint16 timer_get_count(timer_dev *dev) {
return (uint16)(dev->regs).bas->CNT;
}
static inline void timer_set_count(timer_dev *dev, uint16 value) {
(dev->regs).bas->CNT = value;
}
# 677 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline uint16 timer_get_prescaler(timer_dev *dev) {
return (uint16)(dev->regs).bas->PSC;
}
# 691 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline void timer_set_prescaler(timer_dev *dev, uint16 psc) {
(dev->regs).bas->PSC = psc;
}
static inline uint16 timer_get_reload(timer_dev *dev) {
return (uint16)(dev->regs).bas->ARR;
}
static inline void timer_set_reload(timer_dev *dev, uint16 arr) {
(dev->regs).bas->ARR = arr;
}
static inline uint16 timer_get_compare(timer_dev *dev, uint8 channel) {
volatile uint32 *ccr = &(dev->regs).gen->CCR1 + (channel - 1);
return *ccr;
}
static inline void timer_set_compare(timer_dev *dev,
uint8 channel,
uint16 value) {
volatile uint32 *ccr = &(dev->regs).gen->CCR1 + (channel - 1);
*ccr = value;
}
# 746 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline void timer_generate_update(timer_dev *dev) {
*bb_perip(&(dev->regs).bas->EGR, 0) = 1;
}
static inline void timer_dma_enable_trg_req(timer_dev *dev) {
*bb_perip(&(dev->regs).gen->DIER, 14) = 1;
}
static inline void timer_dma_disable_trg_req(timer_dev *dev) {
*bb_perip(&(dev->regs).gen->DIER, 14) = 0;
}
static inline void timer_dma_enable_req(timer_dev *dev, uint8 channel) {
*bb_perip(&(dev->regs).gen->DIER, channel + 8) = 1;
}
static inline void timer_dma_disable_req(timer_dev *dev, uint8 channel) {
*bb_perip(&(dev->regs).gen->DIER, channel + 8) = 0;
}
# 792 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline void timer_enable_irq(timer_dev *dev, uint8 interrupt) {
*bb_perip(&(dev->regs).adv->DIER, interrupt) = 1;
}
# 804 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline void timer_disable_irq(timer_dev *dev, uint8 interrupt) {
*bb_perip(&(dev->regs).adv->DIER, interrupt) = 0;
}
# 819 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline void timer_cc_enable(timer_dev *dev, uint8 channel) {
*bb_perip(&(dev->regs).gen->CCER, 4 * (channel - 1)) = 1;
}
static inline void timer_cc_disable(timer_dev *dev, uint8 channel) {
*bb_perip(&(dev->regs).gen->CCER, 4 * (channel - 1)) = 0;
}
# 840 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline uint8 timer_cc_get_pol(timer_dev *dev, uint8 channel) {
return *bb_perip(&(dev->regs).gen->CCER, 4 * (channel - 1) + 1);
}
# 861 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline void timer_cc_set_pol(timer_dev *dev, uint8 channel, uint8 pol) {
*bb_perip(&(dev->regs).gen->CCER, 4 * (channel - 1) + 1) = pol;
}
static inline uint8 timer_dma_get_burst_len(timer_dev *dev) {
uint32 dbl = ((dev->regs).gen->DCR & (0x1F << 8)) >> 8;
return dbl + 1;
}
static inline void timer_dma_set_burst_len(timer_dev *dev, uint8 length) {
uint32 tmp = (dev->regs).gen->DCR;
tmp &= ~(0x1F << 8);
tmp |= (length - 1) << 8;
(dev->regs).gen->DCR = tmp;
}
typedef enum timer_dma_base_addr {
TIMER_DMA_BASE_CR1 = 0x0,
TIMER_DMA_BASE_CR2 = 0x1,
TIMER_DMA_BASE_SMCR = 0x2,
TIMER_DMA_BASE_DIER = 0x3,
TIMER_DMA_BASE_SR = 0x4,
TIMER_DMA_BASE_EGR = 0x5,
TIMER_DMA_BASE_CCMR1 = 0x6,
TIMER_DMA_BASE_CCMR2 = 0x7,
TIMER_DMA_BASE_CCER = 0x8,
TIMER_DMA_BASE_CNT = 0x9,
TIMER_DMA_BASE_PSC = 0xA,
TIMER_DMA_BASE_ARR = 0xB,
TIMER_DMA_BASE_RCR = 0xC,
TIMER_DMA_BASE_CCR1 = 0xD,
TIMER_DMA_BASE_CCR2 = 0xE,
TIMER_DMA_BASE_CCR3 = 0xF,
TIMER_DMA_BASE_CCR4 = 0x10,
TIMER_DMA_BASE_BDTR = 0x11,
TIMER_DMA_BASE_DCR = 0x12,
TIMER_DMA_BASE_DMAR = 0x13,
} timer_dma_base_addr;
# 945 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline timer_dma_base_addr timer_dma_get_base_addr(timer_dev *dev) {
uint32 dcr = (dev->regs).gen->DCR;
return (timer_dma_base_addr)(dcr & 0x1F);
}
# 958 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline void timer_dma_set_base_addr(timer_dev *dev,
timer_dma_base_addr dma_base) {
uint32 tmp = (dev->regs).gen->DCR;
tmp &= ~0x1F;
tmp |= dma_base;
(dev->regs).gen->DCR = tmp;
}
typedef enum timer_oc_mode {
TIMER_OC_MODE_FROZEN = 0 << 4,
TIMER_OC_MODE_ACTIVE_ON_MATCH = 1 << 4,
TIMER_OC_MODE_INACTIVE_ON_MATCH = 2 << 4,
TIMER_OC_MODE_TOGGLE = 3 << 4,
TIMER_OC_MODE_FORCE_INACTIVE = 4 << 4,
TIMER_OC_MODE_FORCE_ACTIVE = 5 << 4,
TIMER_OC_MODE_PWM_1 = 6 << 4,
TIMER_OC_MODE_PWM_2 = 7 << 4,
} timer_oc_mode;
typedef enum timer_oc_mode_flags {
TIMER_OC_CE = 1U << 7,
TIMER_OC_PE = 1U << 3,
TIMER_OC_FE = 1U << 2,
} timer_oc_mode_flags;
# 1024 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
static inline void timer_oc_set_mode(timer_dev *dev,
uint8 channel,
timer_oc_mode mode,
uint8 flags) {
volatile uint32 *ccmr = &(dev->regs).gen->CCMR1 + (((channel - 1) >> 1) & 1);
uint8 shift = 8 * (1 - (channel & 1));
uint32 tmp = *ccmr;
tmp &= ~(0xFF << shift);
tmp |= (mode | flags | 0x0) << shift;
*ccmr = tmp;
}
# 1107 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/timer.h"
}
# 39 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_types.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/adc.h" 1
# 39 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/adc.h"
extern "C"{
# 53 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/adc.h"
typedef struct adc_reg_map {
volatile uint32 SR;
volatile uint32 CR1;
volatile uint32 CR2;
volatile uint32 SMPR1;
volatile uint32 SMPR2;
volatile uint32 JOFR1;
volatile uint32 JOFR2;
volatile uint32 JOFR3;
volatile uint32 JOFR4;
volatile uint32 HTR;
volatile uint32 LTR;
volatile uint32 SQR1;
volatile uint32 SQR2;
volatile uint32 SQR3;
volatile uint32 JSQR;
volatile uint32 JDR1;
volatile uint32 JDR2;
volatile uint32 JDR3;
volatile uint32 JDR4;
volatile uint32 DR;
} adc_reg_map;
typedef struct adc_dev {
adc_reg_map *regs;
rcc_clk_id clk_id;
} adc_dev;
# 105 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/adc.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/adc.h" 1
# 46 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/adc.h"
extern const struct adc_dev *ADC1;
extern const struct adc_dev *ADC2;
# 114 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/adc.h"
typedef enum adc_extsel_event {
# 130 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/adc.h"
ADC_EXT_EV_TIM1_CC1 = 0x00000,
ADC_EXT_EV_TIM1_CC2 = 0x20000,
ADC_EXT_EV_TIM2_CC2 = 0x60000,
ADC_EXT_EV_TIM3_TRGO = 0x80000,
ADC_EXT_EV_TIM4_CC4 = 0xA0000,
ADC_EXT_EV_EXTI11 = 0xC0000,
ADC_EXT_EV_TIM1_CC3 = 0x40000,
ADC_EXT_EV_SWSTART = 0xE0000,
ADC_EXT_EV_TIM3_CC1 = 0x00000,
ADC_EXT_EV_TIM2_CC3 = 0x20000,
ADC_EXT_EV_TIM8_CC1 = 0x60000,
ADC_EXT_EV_ADC3_TIM8_TRGO = 0x80000,
ADC_EXT_EV_TIM5_CC1 = 0xA0000,
ADC_EXT_EV_ADC12_TIM8_TRGO = 0xC0000,
ADC_EXT_EV_TIM5_CC3 = 0xC0000,
} adc_extsel_event;
# 209 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/adc.h"
typedef enum adc_smp_rate {
ADC_SMPR_1_5,
ADC_SMPR_7_5,
ADC_SMPR_13_5,
ADC_SMPR_28_5,
ADC_SMPR_41_5,
ADC_SMPR_55_5,
ADC_SMPR_71_5,
ADC_SMPR_239_5,
} adc_smp_rate;
typedef enum adc_prescaler {
ADC_PRE_PCLK2_DIV_2 = RCC_ADCPRE_PCLK_DIV_2,
ADC_PRE_PCLK2_DIV_4 = RCC_ADCPRE_PCLK_DIV_4,
ADC_PRE_PCLK2_DIV_6 = RCC_ADCPRE_PCLK_DIV_6,
ADC_PRE_PCLK2_DIV_8 = RCC_ADCPRE_PCLK_DIV_8,
} adc_prescaler;
void adc_calibrate(const adc_dev *dev);
# 249 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/adc.h"
static inline void adc_set_exttrig(const adc_dev *dev, uint8 enable) {
*bb_perip(&dev->regs->CR2, 20) = !!enable;
}
# 106 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/adc.h" 2
# 244 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/adc.h"
void adc_init(const adc_dev *dev);
void adc_set_extsel(const adc_dev *dev, adc_extsel_event event);
void adc_set_sample_rate(const adc_dev *dev, adc_smp_rate smp_rate);
uint16 adc_read(const adc_dev *dev, uint8 channel);
extern void adc_set_prescaler(adc_prescaler pre);
extern void adc_foreach(void (*fn)(const adc_dev*));
struct gpio_dev;
extern void adc_config_gpio(const struct adc_dev *dev,
struct gpio_dev *gdev,
uint8 bit);
# 284 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/adc.h"
extern void adc_enable_single_swstart(const adc_dev* dev);
# 295 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/adc.h"
static inline void adc_set_reg_seqlen(const adc_dev *dev, uint8 length) {
uint32 tmp = dev->regs->SQR1;
tmp &= ~(0x1F << 20);
tmp |= (length - 1) << 20;
dev->regs->SQR1 = tmp;
}
static inline void adc_enable(const adc_dev *dev) {
*bb_perip(&dev->regs->CR2, 0) = 1;
}
static inline void adc_disable(const adc_dev *dev) {
*bb_perip(&dev->regs->CR2, 0) = 0;
}
static inline void adc_disable_all(void) {
adc_foreach(adc_disable);
}
}
# 40 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_types.h" 2
# 51 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_types.h"
typedef struct stm32_pin_info {
gpio_dev *gpio_device;
timer_dev *timer_device;
const adc_dev *adc_device;
uint8 gpio_bit;
uint8 timer_channel;
uint8 adc_channel;
} stm32_pin_info;
typedef uint8 boolean;
typedef uint8 byte;
# 39 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/boards.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\variants\\maple_mini/board/board.h" 1
# 77 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\variants\\maple_mini/board/board.h"
enum {
PB11, PB10, PB2, PB0, PA7, PA6, PA5, PA4, PA3, PA2, PA1, PA0, PC15, PC14,
PC13, PB7, PB6, PB5, PB4, PB3, PA15, PA14, PA13, PA12, PA11, PA10, PA9,
PA8, PB15, PB14, PB13, PB12, PB8, PB1
};
# 40 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/boards.h" 2
enum {
D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16,
D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31,
D32, D33, D34, D35, D36, D37, D38, D39, D40, D41, D42, D43, D44, D45, D46,
D47, D48, D49, D50, D51, D52, D53, D54, D55, D56, D57, D58, D59, D60, D61,
D62, D63, D64, D65, D66, D67, D68, D69, D70, D71, D72, D73, D74, D75, D76,
D77, D78, D79, D80, D81, D82, D83, D84, D85, D86, D87, D88, D89, D90, D91,
D92, D93, D94, D95, D96, D97, D98, D99, D100, D101, D102, D103, D104, D105,
D106, D107, D108, D109, D110, D111, };
extern const stm32_pin_info PIN_MAP[];
extern const uint8 boardPWMPins[];
extern const uint8 boardADCPins[];
extern const uint8 boardUsedPins[];
# 92 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/boards.h"
void init(void);
# 103 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/boards.h"
extern void boardInit(void);
bool boardUsesPin(uint8 pin);
# 53 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h" 1
# 42 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
typedef enum WiringPinMode {
OUTPUT,
OUTPUT_OPEN_DRAIN,
# 63 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
INPUT,
INPUT_ANALOG,
INPUT_PULLUP,
INPUT_PULLDOWN,
INPUT_FLOATING,
PWM,
PWM_OPEN_DRAIN,
} WiringPinMode;
# 110 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
void pinMode(uint8 pin, WiringPinMode mode);
# 123 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
void digitalWrite(uint8 pin, uint8 value);
# 133 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
uint32 digitalRead(uint8 pin);
# 145 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
uint16 analogRead(uint8 pin);
# 157 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
void togglePin(uint8 pin);
# 170 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
static inline void toggleLED() {
togglePin(33);
}
# 184 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
uint8 isButtonPressed(uint8 pin=32,
uint32 pressedLevel=0x1);
# 204 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
uint8 waitForButtonPress(uint32 timeout_millis=0);
# 220 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/io.h"
void shiftOut(uint8 dataPin, uint8 clockPin, uint8 bitOrder, uint8 value);
# 54 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/bit_constants.h" 1
# 55 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/pwm.h" 1
# 53 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/pwm.h"
void pwmWrite(uint8 pin, uint16 duty_cycle);
# 56 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/ext_interrupts.h" 1
# 42 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/ext_interrupts.h"
typedef enum ExtIntTriggerMode {
RISING,
FALLING,
CHANGE
} ExtIntTriggerMode;
# 69 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/ext_interrupts.h"
void attachInterrupt(uint8 pin, voidFuncPtr handler, ExtIntTriggerMode mode);
# 90 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/ext_interrupts.h"
void attachInterrupt(uint8 pin, voidArgumentFuncPtr handler, void *arg,
ExtIntTriggerMode mode);
void detachInterrupt(uint8 pin);
# 109 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/ext_interrupts.h"
static __attribute__((__always_inline__)) void interrupts() {
nvic_globalirq_enable();
}
# 123 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/ext_interrupts.h"
static __attribute__((__always_inline__)) void noInterrupts() {
nvic_globalirq_disable();
}
# 57 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_debug.h" 1
# 45 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_debug.h"
void disableDebugPorts(void);
# 55 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_debug.h"
void enableDebugPorts(void);
# 58 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_math.h" 1
# 35 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_math.h"
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 1 3
# 1 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\machine\\ieeefp.h" 1 3
# 7 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 2 3
extern "C" {
union __dmath
{
double d;
__ULong i[2];
};
union __fmath
{
float f;
__ULong i[1];
};
union __ldmath
{
long double ld;
__ULong i[4];
};
# 108 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 3
extern double atan (double);
extern double cos (double);
extern double sin (double);
extern double tan (double);
extern double tanh (double);
extern double frexp (double, int *);
extern double modf (double, double *);
extern double ceil (double);
extern double fabs (double);
extern double floor (double);
extern double acos (double);
extern double asin (double);
extern double atan2 (double, double);
extern double cosh (double);
extern double sinh (double);
extern double exp (double);
extern double ldexp (double, int);
extern double log (double);
extern double log10 (double);
extern double pow (double, double);
extern double sqrt (double);
extern double fmod (double, double);
# 154 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 3
typedef float float_t;
typedef double double_t;
# 198 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 3
extern int __isinff (float x);
extern int __isinfd (double x);
extern int __isnanf (float x);
extern int __isnand (double x);
extern int __fpclassifyf (float x);
extern int __fpclassifyd (double x);
extern int __signbitf (float x);
extern int __signbitd (double x);
# 258 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 3
extern double infinity (void);
extern double nan (const char *);
extern int finite (double);
extern double copysign (double, double);
extern double logb (double);
extern int ilogb (double);
extern double asinh (double);
extern double cbrt (double);
extern double nextafter (double, double);
extern double rint (double);
extern double scalbn (double, int);
extern double exp2 (double);
extern double scalbln (double, long int);
extern double tgamma (double);
extern double nearbyint (double);
extern long int lrint (double);
extern long long int llrint (double);
extern double round (double);
extern long int lround (double);
extern long long int llround (double);
extern double trunc (double);
extern double remquo (double, double, int *);
extern double fdim (double, double);
extern double fmax (double, double);
extern double fmin (double, double);
extern double fma (double, double, double);
extern double log1p (double);
extern double expm1 (double);
extern double acosh (double);
extern double atanh (double);
extern double remainder (double, double);
extern double gamma (double);
extern double lgamma (double);
extern double erf (double);
extern double erfc (double);
extern double log2 (double);
extern double hypot (double, double);
extern float atanf (float);
extern float cosf (float);
extern float sinf (float);
extern float tanf (float);
extern float tanhf (float);
extern float frexpf (float, int *);
extern float modff (float, float *);
extern float ceilf (float);
extern float fabsf (float);
extern float floorf (float);
extern float acosf (float);
extern float asinf (float);
extern float atan2f (float, float);
extern float coshf (float);
extern float sinhf (float);
extern float expf (float);
extern float ldexpf (float, int);
extern float logf (float);
extern float log10f (float);
extern float powf (float, float);
extern float sqrtf (float);
extern float fmodf (float, float);
extern float exp2f (float);
extern float scalblnf (float, long int);
extern float tgammaf (float);
extern float nearbyintf (float);
extern long int lrintf (float);
extern long long llrintf (float);
extern float roundf (float);
extern long int lroundf (float);
extern long long int llroundf (float);
extern float truncf (float);
extern float remquof (float, float, int *);
extern float fdimf (float, float);
extern float fmaxf (float, float);
extern float fminf (float, float);
extern float fmaf (float, float, float);
extern float infinityf (void);
extern float nanf (const char *);
extern int finitef (float);
extern float copysignf (float, float);
extern float logbf (float);
extern int ilogbf (float);
extern float asinhf (float);
extern float cbrtf (float);
extern float nextafterf (float, float);
extern float rintf (float);
extern float scalbnf (float, int);
extern float log1pf (float);
extern float expm1f (float);
extern float acoshf (float);
extern float atanhf (float);
extern float remainderf (float, float);
extern float gammaf (float);
extern float lgammaf (float);
extern float erff (float);
extern float erfcf (float);
extern float log2f (float);
extern float hypotf (float, float);
extern long double atanl (long double);
extern long double cosl (long double);
extern long double sinl (long double);
extern long double tanl (long double);
extern long double tanhl (long double);
extern long double frexpl (long double value, int *);
extern long double modfl (long double, long double *);
extern long double ceill (long double);
extern long double fabsl (long double);
extern long double floorl (long double);
extern long double log1pl (long double);
extern long double expm1l (long double);
extern long double acosl (long double);
extern long double asinl (long double);
extern long double atan2l (long double, long double);
extern long double coshl (long double);
extern long double sinhl (long double);
extern long double expl (long double);
extern long double ldexpl (long double, int);
extern long double logl (long double);
extern long double log10l (long double);
extern long double powl (long double, long double);
extern long double sqrtl (long double);
extern long double fmodl (long double, long double);
extern long double hypotl (long double, long double);
extern long double copysignl (long double, long double);
extern long double nanl (const char *);
extern int ilogbl (long double);
extern long double asinhl (long double);
extern long double cbrtl (long double);
extern long double nextafterl (long double, long double);
extern long double rintl (long double);
extern long double scalbnl (long double, int);
extern long double exp2l (long double);
extern long double scalblnl (long double, long);
extern long double tgammal (long double);
extern long double nearbyintl (long double);
extern long int lrintl (long double);
extern long long int llrintl (long double);
extern long double roundl (long double);
extern long lroundl (long double);
extern long long int llroundl (long double);
extern long double truncl (long double);
extern long double remquol (long double, long double, int *);
extern long double fdiml (long double, long double);
extern long double fmaxl (long double, long double);
extern long double fminl (long double, long double);
extern long double fmal (long double, long double, long double);
extern long double acoshl (long double);
extern long double atanhl (long double);
extern long double remainderl (long double, long double);
extern long double lgammal (long double);
extern long double erfl (long double);
extern long double erfcl (long double);
# 463 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 3
extern double drem (double, double);
extern void sincos (double, double *, double *);
extern double gamma_r (double, int *);
extern double lgamma_r (double, int *);
extern double y0 (double);
extern double y1 (double);
extern double yn (int, double);
extern double j0 (double);
extern double j1 (double);
extern double jn (int, double);
extern float dremf (float, float);
extern void sincosf (float, float *, float *);
extern float gammaf_r (float, int *);
extern float lgammaf_r (float, int *);
extern float y0f (float);
extern float y1f (float);
extern float ynf (int, float);
extern float j0f (float);
extern float j1f (float);
extern float jnf (int, float);
extern double exp10 (double);
extern double pow10 (double);
extern float exp10f (float);
extern float pow10f (float);
# 508 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 3
extern int *__signgam (void);
# 517 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 3
struct __exception
{
int type;
char *name;
double arg1;
double arg2;
double retval;
int err;
};
extern int matherr (struct __exception *e);
# 574 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 3
enum __fdlibm_version
{
__fdlibm_ieee = -1,
__fdlibm_svid,
__fdlibm_xopen,
__fdlibm_posix
};
extern enum __fdlibm_version __fdlib_version;
# 594 "c:\\program files (x86)\\arduino\\hardware\\tools\\gcc-arm-none-eabi-4.8.3-2014q1\\arm-none-eabi\\include\\math.h" 3
}
# 36 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_math.h" 2
void randomSeed(unsigned int seed);
long random(long max);
# 58 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_math.h"
long random(long min, long max);
# 81 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_math.h"
static inline long map(long value, long fromStart, long fromEnd,
long toStart, long toEnd) {
return (value - fromStart) * (toEnd - toStart) / (fromEnd - fromStart) +
toStart;
}
# 105 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_math.h"
enum BitOrder {
LSBFIRST = 0,
MSBFIRST = 1
};
# 134 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_math.h"
double cos(double x);
double sin(double x);
double tan(double x);
double sqrt(double x);
# 166 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_math.h"
double pow(double x, double y);
# 59 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_time.h" 1
# 36 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_time.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/systick.h" 1
# 36 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/systick.h"
extern "C"{
typedef struct systick_reg_map {
volatile uint32 CSR;
volatile uint32 RVR;
volatile uint32 CNT;
volatile uint32 CVR;
} systick_reg_map;
# 77 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/systick.h"
extern volatile uint32 systick_uptime_millis;
static inline uint32 systick_uptime(void) {
return systick_uptime_millis;
}
void systick_init(uint32 reload_val);
void systick_disable();
void systick_enable();
static inline uint32 systick_get_count(void) {
return ((struct systick_reg_map*)0xE000E010)->CNT;
}
# 107 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/systick.h"
static inline uint32 systick_check_underflow(void) {
return ((struct systick_reg_map*)0xE000E010)->CSR & (1UL << (16));
}
}
# 37 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_time.h" 2
# 45 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_time.h"
static inline uint32 millis(void) {
return systick_uptime();
}
static inline uint32 micros(void) {
uint32 ms;
uint32 cycle_cnt;
do {
ms = millis();
cycle_cnt = systick_get_count();
asm volatile("nop");
asm volatile("nop");
} while (ms != millis());
return ((ms * 1000) +
(71999 + 1 - cycle_cnt) / 72);
}
# 83 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_time.h"
void delay(unsigned long ms);
# 95 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish_time.h"
void delayMicroseconds(uint32 us);
# 60 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h" 1
# 37 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/spi.h" 1
# 41 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/spi.h"
extern "C" {
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/stm32f1/include/series/spi.h" 1
# 48 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/spi.h" 2
typedef struct spi_reg_map {
volatile uint32 CR1;
volatile uint32 CR2;
volatile uint32 SR;
volatile uint32 DR;
volatile uint32 CRCPR;
volatile uint32 RXCRCR;
volatile uint32 TXCRCR;
volatile uint32 I2SCFGR;
volatile uint32 I2SPR;
} spi_reg_map;
# 203 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/spi.h"
typedef struct spi_dev {
spi_reg_map *regs;
rcc_clk_id clk_id;
nvic_irq_num irq_num;
} spi_dev;
void spi_init(spi_dev *dev);
struct gpio_dev;
# 228 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/spi.h"
extern void spi_config_gpios(spi_dev *dev,
uint8 as_master,
struct gpio_dev *nss_dev,
uint8 nss_bit,
struct gpio_dev *comm_dev,
uint8 sck_bit,
uint8 miso_bit,
uint8 mosi_bit);
# 244 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/spi.h"
typedef enum spi_mode {
SPI_MODE_LOW_RISING = 0,
SPI_MODE_LOW_FALLING = 1,
SPI_MODE_HIGH_FALLING = 2,
SPI_MODE_HIGH_RISING = 3,
SPI_MODE_0 = SPI_MODE_LOW_RISING,
SPI_MODE_1 = SPI_MODE_LOW_FALLING,
SPI_MODE_2 = SPI_MODE_HIGH_FALLING,
SPI_MODE_3 = SPI_MODE_HIGH_RISING,
} spi_mode;
typedef enum spi_baud_rate {
SPI_BAUD_PCLK_DIV_2 = (0x0 << 3),
SPI_BAUD_PCLK_DIV_4 = (0x1 << 3),
SPI_BAUD_PCLK_DIV_8 = (0x2 << 3),
SPI_BAUD_PCLK_DIV_16 = (0x3 << 3),
SPI_BAUD_PCLK_DIV_32 = (0x4 << 3),
SPI_BAUD_PCLK_DIV_64 = (0x5 << 3),
SPI_BAUD_PCLK_DIV_128 = (0x6 << 3),
SPI_BAUD_PCLK_DIV_256 = (0x7 << 3),
} spi_baud_rate;
typedef enum spi_cfg_flag {
SPI_BIDIMODE = (1U << 15),
SPI_BIDIOE = (1U << 14),
SPI_CRCEN = (1U << 13),
SPI_DFF_8_BIT = (0x0 << 11),
SPI_DFF_16_BIT = (0x1 << 11),
SPI_RX_ONLY = (1U << 10),
SPI_SW_SLAVE = (1U << 9),
SPI_SOFT_SS = (1U << 8),
SPI_FRAME_LSB = (1U << 7),
SPI_FRAME_MSB = 0,
} spi_cfg_flag;
void spi_master_enable(spi_dev *dev,
spi_baud_rate baud,
spi_mode mode,
uint32 flags);
void spi_slave_enable(spi_dev *dev,
spi_mode mode,
uint32 flags);
uint32 spi_tx(spi_dev *dev, const void *buf, uint32 len);
extern void spi_foreach(void (*fn)(spi_dev*));
void spi_peripheral_enable(spi_dev *dev);
void spi_peripheral_disable(spi_dev *dev);
void spi_tx_dma_enable(spi_dev *dev);
void spi_tx_dma_disable(spi_dev *dev);
void spi_rx_dma_enable(spi_dev *dev);
void spi_rx_dma_disable(spi_dev *dev);
static inline uint8 spi_is_enabled(spi_dev *dev) {
return dev->regs->CR1 & 6;
}
static inline void spi_peripheral_disable_all(void) {
spi_foreach(spi_peripheral_disable);
}
typedef enum spi_interrupt {
SPI_TXE_INTERRUPT = (1U << 7),
SPI_RXNE_INTERRUPT = (1U << 6),
SPI_ERR_INTERRUPT = (1U << 5)
} spi_interrupt;
# 368 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/spi.h"
static inline void spi_irq_enable(spi_dev *dev, uint32 interrupt_flags) {
dev->regs->CR2 |= interrupt_flags;
nvic_irq_enable(dev->irq_num);
}
static inline void spi_irq_disable(spi_dev *dev, uint32 interrupt_flags) {
dev->regs->CR2 &= ~interrupt_flags;
}
# 390 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/spi.h"
static inline spi_cfg_flag spi_dff(spi_dev *dev) {
return ((dev->regs->CR1 & (1U << 11)) == (0x0 << 11) ?
SPI_DFF_8_BIT :
SPI_DFF_16_BIT);
}
static inline uint8 spi_is_rx_nonempty(spi_dev *dev) {
return dev->regs->SR & (1U << 0);
}
# 417 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/spi.h"
static inline uint16 spi_rx_reg(spi_dev *dev) {
return (uint16)dev->regs->DR;
}
static inline uint8 spi_is_tx_empty(spi_dev *dev) {
return dev->regs->SR & (1U << 1);
}
# 448 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\system/libmaple/include/libmaple/spi.h"
static inline void spi_tx_reg(spi_dev *dev, uint16 val) {
dev->regs->DR = val;
}
static inline uint8 spi_is_busy(spi_dev *dev) {
return dev->regs->SR & (1U << 7);
}
}
# 38 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h" 2
# 47 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
typedef enum SPIFrequency {
SPI_18MHZ = 0,
SPI_9MHZ = 1,
SPI_4_5MHZ = 2,
SPI_2_25MHZ = 3,
SPI_1_125MHZ = 4,
SPI_562_500KHZ = 5,
SPI_281_250KHZ = 6,
SPI_140_625KHZ = 7,
} SPIFrequency;
# 66 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
class HardwareSPI {
public:
HardwareSPI(uint32 spiPortNumber);
# 87 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
void begin(SPIFrequency frequency, uint32 bitOrder, uint32 mode);
void begin(void);
# 102 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
void beginSlave(uint32 bitOrder, uint32 mode);
void beginSlave(void);
void end(void);
# 124 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
uint8 read(void);
# 133 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
void read(uint8 *buffer, uint32 length);
void write(uint8 data);
void write(const uint8 *buffer, uint32 length);
# 156 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
uint8 transfer(uint8 data);
# 165 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
uint8 misoPin(void);
uint8 mosiPin(void);
uint8 sckPin(void);
uint8 nssPin(void);
spi_dev* c_dev(void) { return this->spi_d; }
# 199 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
uint8 send(uint8 data);
# 211 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
uint8 send(uint8 *data, uint32 length);
# 220 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSPI.h"
uint8 recv(void);
private:
spi_dev *spi_d;
};
# 62 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSerial.h" 1
# 38 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSerial.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/Print.h" 1
# 27 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/Print.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/WString.h" 1
# 28 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/Print.h" 2
enum {
BYTE = 0,
BIN = 2,
OCT = 8,
DEC = 10,
HEX = 16
};
class Print {
public:
virtual size_t write(uint8 ch) = 0;
virtual size_t write(const char *str);
virtual size_t write(const void *buf, uint32 len);
size_t print(const String &);
size_t print(char);
size_t print(const char[]);
size_t print(uint8, int=DEC);
size_t print(int, int=DEC);
size_t print(unsigned int, int=DEC);
size_t print(long, int=DEC);
size_t print(unsigned long, int=DEC);
size_t print(long long, int=DEC);
size_t print(unsigned long long, int=DEC);
size_t print(double, int=2);
size_t println(void);
size_t println(const String &s);
size_t println(char);
size_t println(const char[]);
size_t println(uint8, int=DEC);
size_t println(int, int=DEC);
size_t println(unsigned int, int=DEC);
size_t println(long, int=DEC);
size_t println(unsigned long, int=DEC);
size_t println(long long, int=DEC);
size_t println(unsigned long long, int=DEC);
size_t println(double, int=2);
Print() : write_error(0) {}
int getWriteError() { return write_error; }
void clearWriteError() { setWriteError(0); }
protected:
void setWriteError(int err = 1) { write_error = err; }
private:
int write_error;
size_t printNumber(unsigned long long, uint8);
size_t printFloat(double, uint8);
};
# 39 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSerial.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/boards.h" 1
# 40 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSerial.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/stream.h" 1
# 38 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/stream.h"
class Stream : public Print
{
protected:
unsigned long _timeout;
unsigned long _startMillis;
int timedRead();
int timedPeek();
int peekNextDigit();
public:
virtual int available() = 0;
virtual int read() = 0;
virtual int peek() = 0;
virtual void flush() = 0;
Stream() {_timeout=1000;}
void setTimeout(unsigned long timeout);
bool find(char *target);
bool find(uint8_t *target) { return find ((char *)target); }
bool find(char *target, size_t length);
bool find(uint8_t *target, size_t length) { return find ((char *)target, length); }
bool findUntil(char *target, char *terminator);
bool findUntil(uint8_t *target, char *terminator) { return findUntil((char *)target, terminator); }
bool findUntil(char *target, size_t targetLen, char *terminate, size_t termLen);
bool findUntil(uint8_t *target, size_t targetLen, char *terminate, size_t termLen) {return findUntil((char *)target, targetLen, terminate, termLen); }
long parseInt();
float parseFloat();
size_t readBytes( char *buffer, size_t length);
size_t readBytes( uint8_t *buffer, size_t length) { return readBytes((char *)buffer, length); }
size_t readBytesUntil( char terminator, char *buffer, size_t length);
size_t readBytesUntil( char terminator, uint8_t *buffer, size_t length) { return readBytesUntil(terminator, (char *)buffer, length); }
String readString();
String readStringUntil(char terminator);
protected:
long parseInt(char skipChar);
float parseFloat(char skipChar);
};
# 41 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSerial.h" 2
# 51 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSerial.h"
struct usart_dev;
class HardwareSerial : public Print {
public:
HardwareSerial(struct usart_dev *usart_device,
uint8 tx_pin,
uint8 rx_pin);
void begin(uint32 baud);
void end(void);
uint32 available(void);
uint8 read(void);
void flush(void);
virtual size_t write(unsigned char);
using Print::write;
int txPin(void) { return this->tx_pin; }
int rxPin(void) { return this->rx_pin; }
operator bool() { return true; }
struct usart_dev* c_dev(void) { return this->usart_device; }
private:
struct usart_dev *usart_device;
uint8 tx_pin;
uint8 rx_pin;
};
# 106 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareSerial.h"
extern HardwareSerial Serial;
extern HardwareSerial Serial1;
extern HardwareSerial Serial2;
# 65 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h" 1
# 39 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
typedef timer_mode TimerMode;
class HardwareTimer {
private:
timer_dev *dev;
public:
HardwareTimer(uint8 timerNum);
void pause(void);
# 75 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
void resume(void);
uint32 getPrescaleFactor();
# 94 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
void setPrescaleFactor(uint32 factor);
uint16 getOverflow();
# 112 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
void setOverflow(uint16 val);
uint16 getCount(void);
# 128 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
void setCount(uint16 val);
# 141 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
uint16 setPeriod(uint32 microseconds);
void setMode(int channel, timer_mode mode);
uint16 getCompare(int channel);
# 168 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
void setCompare(int channel, uint16 compare);
# 180 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
void attachInterrupt(int channel, voidFuncPtr handler);
# 191 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
void detachInterrupt(int channel);
# 206 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
void refresh(void);
timer_dev* c_dev(void) { return this->dev; }
void setChannelMode(int channel, timer_mode mode) {
setMode(channel, mode);
}
void setChannel1Mode(timer_mode mode) { setMode(TIMER_CH1, mode); }
void setChannel2Mode(timer_mode mode) { setMode(TIMER_CH2, mode); }
void setChannel3Mode(timer_mode mode) { setMode(TIMER_CH3, mode); }
void setChannel4Mode(timer_mode mode) { setMode(TIMER_CH4, mode); }
uint16 getCompare1() { return getCompare(TIMER_CH1); }
uint16 getCompare2() { return getCompare(TIMER_CH2); }
uint16 getCompare3() { return getCompare(TIMER_CH3); }
uint16 getCompare4() { return getCompare(TIMER_CH4); }
void setCompare1(uint16 compare) { setCompare(TIMER_CH1, compare); }
void setCompare2(uint16 compare) { setCompare(TIMER_CH2, compare); }
void setCompare3(uint16 compare) { setCompare(TIMER_CH3, compare); }
void setCompare4(uint16 compare) { setCompare(TIMER_CH4, compare); }
void attachCompare1Interrupt(voidFuncPtr handler) {
attachInterrupt(TIMER_CH1, handler);
}
void attachCompare2Interrupt(voidFuncPtr handler) {
attachInterrupt(TIMER_CH2, handler);
}
void attachCompare3Interrupt(voidFuncPtr handler) {
attachInterrupt(TIMER_CH3, handler);
}
void attachCompare4Interrupt(voidFuncPtr handler) {
attachInterrupt(TIMER_CH4, handler);
}
void detachCompare1Interrupt(void) { detachInterrupt(TIMER_CH1); }
void detachCompare2Interrupt(void) { detachInterrupt(TIMER_CH2); }
void detachCompare3Interrupt(void) { detachInterrupt(TIMER_CH3); }
void detachCompare4Interrupt(void) { detachInterrupt(TIMER_CH4); }
void generateUpdate(void) { refresh(); }
};
# 303 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/HardwareTimer.h"
extern HardwareTimer Timer1;
extern HardwareTimer Timer2;
extern HardwareTimer Timer3;
extern HardwareTimer Timer4;
# 66 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/usb_serial.h" 1
# 34 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/usb_serial.h"
# 1 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/Print.h" 1
# 35 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/usb_serial.h" 2
class USBSerial : public Print {
public:
USBSerial(void);
void begin(void);
void end(void);
uint32 available(void);
uint32 read(void *buf, uint32 len);
uint8 read(void);
size_t write(uint8);
size_t write(const char *str);
size_t write(const void*, uint32);
uint8 getRTS();
uint8 getDTR();
uint8 isConnected();
uint8 pending();
};
extern USBSerial SerialUSB;
# 67 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/wirish.h" 2
# 31 "C:\\Users\\rclark\\Documents\\Arduino\\hardware\\Arduino_STM32\\STM32F1XX\\cores\\maple/Arduino.h" 2
void setup();
void loop();
# 4 "sketch_nov16a.ino" 2
void setup();
void loop();
# 3 "sketch_nov16a.ino"
SPIClass mySPI;
void setup() {
}
void loop() {}