simpletools library
v1.1.7
Collection of convenience functions for common microcontroller tasks
simpletools.h
Go to the documentation of this file.
1
108
#ifndef SIMPLETOOLS_H
109
#define SIMPLETOOLS_H
110
111
#if defined(__cplusplus)
112
extern
"C"
{
113
#endif
114
115
#include <propeller.h>
116
#include "simpletext.h"
117
#include <driver.h>
118
#include <stdio.h>
119
#include <stdlib.h>
120
#include <string.h>
121
#include <cog.h>
122
#include <ctype.h>
123
#include <unistd.h>
124
#include <sys/stat.h>
125
#include <dirent.h>
126
#include <sys/sd.h>
127
#include <math.h>
128
#include "simplei2c.h"
129
130
134
extern
int
ms
;
135
136
140
extern
int
us
;
141
142
143
155
extern
int
st_msTicks
;
156
157
162
extern
int
st_usTicks
;
163
164
169
extern
int
st_iodt
;
170
175
extern
int
st_timeout
;
176
181
extern
int
st_pauseTicks
;
182
186
extern
int
st_mark
;
187
191
extern
unsigned
int
st_buscnt
;
192
196
extern
i2c *
st_eeprom
;
197
201
extern
int
st_eeInitFlag
;
202
203
210
#ifndef PI
211
214
#define PI 3.141592653589793
215
#endif
216
217
218
226
/* Values for use with SimpleIDE Terminal */
227
#ifndef HOME
228
231
#define HOME (1)
232
#endif
233
234
#ifndef CRSRXY
235
241
#define CRSRXY (2)
242
#endif
243
244
#ifndef CRSRLF
245
249
#define CRSRLF (3)
250
#endif
251
252
#ifndef CRSRRT
253
257
#define CRSRRT (4)
258
#endif
259
260
#ifndef CRSRUP
261
265
#define CRSRUP (5)
266
#endif
267
268
#ifndef CRSRDN
269
273
#define CRSRDN (6)
274
#endif
275
276
#ifndef BEEP
277
281
#define BEEP (7)
282
#endif
283
284
#ifndef BKSP
285
290
#define BKSP (8)
291
#endif
292
293
#ifndef TAB
294
298
#define TAB (9)
299
#endif
300
301
#ifndef NL
302
306
#define NL (10)
307
#endif
308
309
#ifndef LF
310
313
#define LF (10)
314
#endif
315
316
#ifndef CLREOL
317
321
#define CLREOL (11)
322
#endif
323
324
#ifndef CLRDN
325
329
#define CLRDN (12)
330
#endif
331
332
#ifndef CR
333
337
#define CR (13)
338
#endif
339
340
#ifndef CRSRX
341
345
#define CRSRX (14)
346
#endif
347
348
#ifndef CRSRY
349
353
#define CRSRY (15)
354
#endif
355
356
#ifndef CLS
357
361
#define CLS (16)
362
#endif
363
364
365
375
#ifndef MSBPRE
376
379
#define MSBPRE 0
380
#endif
381
382
#ifndef LSBPRE
383
386
#define LSBPRE 1
387
#endif
388
389
#ifndef MSBPOST
390
393
#define MSBPOST 2
394
#endif
395
396
#ifndef LSBPOST
397
400
#define LSBPOST 3
401
#endif
402
403
// Values for use with shift_out
404
#ifndef LSBFIRST
405
408
#define LSBFIRST 0
409
#endif
410
411
#ifndef MSBFIRST
412
415
#define MSBFIRST 1
416
#endif
417
418
419
429
#ifndef NCO_PWM_1
430
434
#define NCO_PWM_1 (0b00100 << 26)
435
#endif
436
437
#ifndef CTR_NCO
438
442
#define CTR_NCO (0b100 << 26)
443
#endif
444
445
#ifndef CTR_PLL
446
450
#define CTR_PLL (0b10 << 26)
451
#endif
452
453
#ifndef DUTY_SE
454
458
#define DUTY_SE (0b110 << 26)
459
#endif
460
461
462
475
#define ee_put_byte ee_putByte
476
477
481
#define ee_get_byte ee_getByte
482
483
487
#define ee_put_int ee_putInt
488
489
493
#define ee_get_int ee_getInt
494
495
499
#define ee_put_str ee_putStr
500
501
505
#define ee_get_str ee_getStr
506
507
511
#define ee_put_float32 ee_putFloat32
512
513
518
#define pause_ticks(pticks) __builtin_propeller_waitcnt(pticks+CNT, 0)
519
520
521
531
#ifndef EEPROM_ADDR
532
535
#define EEPROM_ADDR 0x50
536
#endif
537
538
539
556
void
high
(
int
pin);
557
558
569
void
low
(
int
pin);
570
571
586
int
input
(
int
pin);
587
588
589
609
unsigned
int
toggle
(
int
pin);
610
622
unsigned
int
reverse
(
int
pin);
623
624
642
unsigned
int
get_state
(
int
pin);
643
658
unsigned
int
get_direction
(
int
pin);
659
672
unsigned
int
get_output
(
int
pin);
673
682
void
set_direction
(
int
pin,
int
direction);
683
696
void
set_output
(
int
pin,
int
state);
697
698
699
722
unsigned
int
get_states
(
int
endPin,
int
startPin);
723
736
unsigned
int
get_directions
(
int
endPin,
int
startPin);
737
750
unsigned
int
get_outputs
(
int
endPin,
int
startPin);
751
763
void
set_directions
(
int
endPin,
int
startPin,
unsigned
int
pattern);
764
776
void
set_outputs
(
int
endPin,
int
startPin,
unsigned
int
pattern);
777
778
779
780
801
void
pause
(
int
time);
802
813
void
set_pause_dt
(
int
clockticks);
814
815
816
817
837
long
count
(
int
pin,
long
duration);
838
867
void
dac_ctr
(
int
pin,
int
channel,
int
dacVal);
868
882
void
dac_ctr_res
(
int
bits);
883
891
void
dac_ctr_stop
(
void
);
892
903
void
freqout
(
int
pin,
int
msTime,
int
frequency);
904
919
int
pwm_start
(
unsigned
int
cycleMicroseconds);
920
946
void
pwm_set
(
int
pin,
int
channel,
int
tHigh);
947
955
void
pwm_stop
(
void
);
956
969
long
pulse_in
(
int
pin,
int
state);
970
986
void
pulse_out
(
int
pin,
int
time);
987
1003
long
rc_time
(
int
pin,
int
state);
1004
1023
void
square_wave
(
int
pin,
int
channel,
int
freq);
1024
1032
void
square_wave_stop
(
void
);
1033
1043
void
set_io_timeout
(
long
clockTicks);
1044
1055
void
set_io_dt
(
long
clockticks);
1056
1057
1058
1059
1081
int
shift_in
(
int
pinDat,
int
pinClk,
int
mode,
int
bits);
1082
1092
void
shift_out
(
int
pinDat,
int
pinClk,
int
mode,
int
bits,
int
value);
1093
1094
1095
1096
1125
i2c *
i2c_newbus
(
int
sclPin,
int
sdaPin,
int
sclDrive);
1126
1127
1155
HUBTEXT
int
i2c_out
(i2c *busID,
int
i2cAddr,
1156
int
memAddr,
int
memAddrCount,
1157
const
unsigned
char
*data,
int
dataCount);
1158
1159
1187
HUBTEXT
int
i2c_in
(i2c *busID,
int
i2cAddr,
1188
int
memAddr,
int
memAddrCount,
1189
unsigned
char
*data,
int
dataCount);
1190
1191
1201
HUBTEXT
int
i2c_busy
(i2c *busID,
int
i2cAddr);
1202
1203
1204
1205
1225
void
ee_putByte
(
unsigned
char
value,
int
addr);
1226
1236
char
ee_getByte
(
int
addr);
1237
1238
1248
void
ee_putInt
(
int
value,
int
addr);
1249
1259
int
ee_getInt
(
int
addr);
1260
1271
void
ee_putStr
(
unsigned
char
*s,
int
n,
int
addr);
1272
1287
unsigned
char
*
ee_getStr
(
unsigned
char
* s,
int
n,
int
addr);
1288
1303
void
ee_putFloat32
(
float
value,
int
addr);
1304
1320
float
ee_getFloat32
(
int
addr);
1321
1343
void
ee_config
(
int
sclPin,
int
sdaPin,
int
sclDrive);
1344
1345
1346
1370
int
sd_mount
(
int
doPin,
int
clkPin,
int
diPin,
int
csPin);
1371
1372
1373
1409
int
*
cog_run
(
void
(*
function
)(
void
*par),
int
stacksize);
1410
1411
1419
int
cog_num
(
int
*coginfo);
1420
1421
1431
void
cog_end
(
int
*coginfo);
1432
1433
1434
1477
void
term_cmd
(
int
termConst, ...);
1478
1479
1480
1503
void
endianSwap
(
void
*resultAddr,
void
*varAddr,
int
byteCount);
1504
1505
1506
1530
void
mark
(
void
);
1531
1554
int
timeout
(
int
time);
1555
1582
void
wait
(
int
time);
1583
1584
1585
1592
#if defined(__cplusplus)
1593
}
1594
#endif
1595
/* __cplusplus */
1596
#endif
1597
/* SIMPLETOOLS_H */
1598
Generated on Fri Jun 2 2017 18:31:30 for simpletools library by
1.8.1.2