Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitcf53821

Browse files
committed
[ATN] Add commonly used function
check if they interfere with math.h or other headers
1 parentd5ad836 commitcf53821

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed

‎api/Common.h‎

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
#ifdef__cplusplus
2+
extern"C"{
3+
#endif
4+
5+
voidyield(void);
6+
7+
typedefenum {
8+
LOW=0x0,
9+
HIGH=0x1,
10+
}_pinStatus;
11+
12+
typedefenum {
13+
INPUT=0x0,
14+
OUTPUT=0x1,
15+
INPUT_PULLUP=0x2,
16+
INPUT_PULLDOWN=0x3,
17+
}_pinMode;
18+
19+
#definePI 3.1415926535897932384626433832795
20+
#defineHALF_PI 1.5707963267948966192313216916398
21+
#defineTWO_PI 6.283185307179586476925286766559
22+
#defineDEG_TO_RAD 0.017453292519943295769236907684886
23+
#defineRAD_TO_DEG 57.295779513082320876798154814105
24+
#defineEULER 2.718281828459045235360287471352
25+
26+
#defineSERIAL 0x0
27+
#defineDISPLAY 0x1
28+
29+
typedefenum {
30+
CHANGE=1,
31+
FALLING=2,
32+
RISING=3,
33+
}_interruptMode;
34+
35+
typedefenum {
36+
LSBFIRST=0,
37+
MSBFIRST=1,
38+
}_spi_bitFirst_mode;
39+
40+
#ifndefmin
41+
#definemin(a,b) ((a)<(b)?(a):(b))
42+
#endif
43+
44+
#ifndefmax
45+
#definemax(a,b) ((a)>(b)?(a):(b))
46+
#endif
47+
48+
#ifndefabs
49+
#defineabs(x) ((x)>0?(x):-(x))
50+
#endif
51+
52+
#ifndefconstrain
53+
#defineconstrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
54+
#endif
55+
56+
#ifndefround
57+
#defineround(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
58+
#endif
59+
60+
#ifndefradians
61+
#defineradians(deg) ((deg)*DEG_TO_RAD)
62+
#endif
63+
64+
#ifndefdegrees
65+
#definedegrees(rad) ((rad)*RAD_TO_DEG)
66+
#endif
67+
68+
#ifndefsq
69+
#definesq(x) ((x)*(x))
70+
#endif
71+
72+
// interrupts() / noInterrupts() must be defined by the core
73+
74+
#definelowByte(w) ((uint8_t) ((w) & 0xff))
75+
#definehighByte(w) ((uint8_t) ((w) >> 8))
76+
77+
#definebitRead(value,bit) (((value) >> (bit)) & 0x01)
78+
#definebitSet(value,bit) ((value) |= (1UL << (bit)))
79+
#definebitClear(value,bit) ((value) &= ~(1UL << (bit)))
80+
#definebitWrite(value,bit,bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
81+
82+
typedefunsignedintword;
83+
84+
#ifndefbit
85+
#definebit(b) (1UL << (b))
86+
#endif
87+
88+
typedefboolboolean;
89+
typedefuint8_tbyte;
90+
91+
voidinit(void);
92+
voidinitVariant(void);
93+
94+
intatexit(void (*func)()) __attribute__((weak));
95+
intmain() __attribute__((weak));
96+
97+
voidpinMode(uint8_tpinNumber,_pinModepinMode);
98+
voiddigitalWrite(uint8_tpinNumber,_pinStatusstatus);
99+
_pinStatusdigitalRead(uint8_tpinNumber);
100+
intanalogRead(uint8_tpinNumber);
101+
voidanalogReference(uint8_tmode);
102+
voidanalogWrite(uint8_tpinNumber,intvalue);
103+
104+
unsigned longmillis(void);
105+
unsigned longmicros(void);
106+
voiddelay(unsigned long);
107+
voiddelayMicroseconds(unsignedintus);
108+
unsigned longpulseIn(uint8_tpin,uint8_tstate,unsigned longtimeout);
109+
unsigned longpulseInLong(uint8_tpin,uint8_tstate,unsigned longtimeout);
110+
111+
voidshiftOut(uint8_tdataPin,uint8_tclockPin,uint8_tbitOrder,uint8_tval);
112+
uint8_tshiftIn(uint8_tdataPin,uint8_tclockPin,uint8_tbitOrder);
113+
114+
voidattachInterrupt(uint8_tinterruptNumber,void (*callback)(void),_interruptModemode);
115+
voiddetachInterrupt(uint8_tinterruptNumber);
116+
117+
voidsetup(void);
118+
voidloop(void);
119+
120+
#ifdef__cplusplus
121+
}// extern "C"
122+
#endif
123+
124+
#ifdef__cplusplus
125+
126+
/* C++ prototypes */
127+
uint16_tmakeWord(uint16_tw);
128+
uint16_tmakeWord(byteh,bytel);
129+
130+
#defineword(...) makeWord(__VA_ARGS__)
131+
132+
unsigned longpulseIn(uint8_tpin,uint8_tstate,unsigned longtimeout=1000000L);
133+
unsigned longpulseInLong(uint8_tpin,uint8_tstate,unsigned longtimeout=1000000L);
134+
135+
voidtone(uint8_t_pin,unsignedintfrequency,unsigned longduration=0);
136+
voidnoTone(uint8_t_pin);
137+
138+
// WMath prototypes
139+
longrandom(long);
140+
longrandom(long,long);
141+
voidrandomSeed(unsigned long);
142+
longmap(long,long,long,long,long);
143+
144+
#endif// __cplusplus

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp