4619 lines
140 KiB
Plaintext
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() {}
|