source: EcnlProtoTool/trunk/mbed_api/src/mbed_api.h@ 331

Last change on this file since 331 was 331, checked in by coas-nagasima, 6 years ago

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-chdr
File size: 5.6 KB
Line 
1/*
2 * TOPPERS ECHONET Lite Communication Middleware
3 *
4 * Copyright (C) 2014-2017 Cores Co., Ltd. Japan
5 *
6 * 上記著作権者
7は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
9 * 変・再é…
10å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
13 * スコード中に含まれていること.
14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
15 * 用できる形で再é…
16å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
17å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
18 * 者
19マニュアルなど)に,上記の著作権表示,この利用条件および下記
20 * の無保証規定を掲載すること.
21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
22 * 用できない形で再é…
23å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
24 * と.
25 * (a) 再é…
26å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
27マニュアルなど)に,上記の著
28 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
29 * (b) 再é…
30å¸ƒã®å½¢æ…
31‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
32 * 報告すること.
33 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
34 * 害からも,上記著作権者
35およびTOPPERSプロジェクトをå…
36è²¬ã™ã‚‹ã“と.
37 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
38 * 由に基づく請求からも,上記著作権者
39およびTOPPERSプロジェクトを
40 * å…
41è²¬ã™ã‚‹ã“と.
42 *
43 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
44お
45 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
46 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
47 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
48 * の責任を負わない.
49 *
50 * @(#) $Id$
51 */
52#ifndef _MBED_API_H_
53#define _MBED_API_H_
54
55#include <time.h>
56#include <stdint.h>
57
58void mbed_api_init(void);
59
60typedef enum {
61 PIN_LED0 = 100,
62 PIN_LED1,
63 PIN_LED2,
64 PIN_LED3,
65 NC = (int)0xFFFFFFFF
66} PinName;
67
68typedef enum {
69 PIN_INPUT,
70 PIN_OUTPUT
71} PinDirection;
72
73typedef enum {
74 PullUp = 0,
75 PullDown = 3,
76 PullNone = 2,
77 OpenDrain = 4,
78 PullDefault = PullDown
79} PinMode;
80
81typedef struct gpio_s {
82 unsigned char __dummy[24];
83} gpio_t;
84
85void gpio_init(gpio_t *obj, PinName pin);
86void gpio_mode(gpio_t *obj, PinMode mode);
87void gpio_dir(gpio_t *obj, PinDirection direction);
88
89void gpio_write(gpio_t *obj, int value);
90int gpio_read(gpio_t *obj);
91
92void gpio_init_in(gpio_t* gpio, PinName pin);
93void gpio_init_out(gpio_t* gpio, PinName pin);
94
95typedef struct analogin_s {
96 unsigned char __dummy[24];
97} analogin_t;
98
99void analogin_init(analogin_t *obj, PinName pin);
100uint16_t analogin_read_u16(analogin_t *obj);
101
102typedef struct dac_s {
103 unsigned char __dummy[24];
104} dac_t;
105
106void analogout_init(dac_t *obj, PinName pin);
107void analogout_write_u16(dac_t *obj, uint16_t value);
108
109void pin_function(PinName pin, int function);
110void pin_mode(PinName pin, PinMode mode);
111
112typedef struct pwmout_s {
113 unsigned char __dummy[24];
114} pwmout_t;
115
116void pwmout_init(pwmout_t* obj, PinName pin);
117void pwmout_free(pwmout_t* obj);
118
119void pwmout_period_us(pwmout_t* obj, int us);
120void pwmout_pulsewidth_us(pwmout_t* obj, int us);
121
122void arduino_tick();
123
124typedef enum {
125 ParityNone = 0,
126 ParityOdd = 1,
127 ParityEven = 2,
128 ParityForced1 = 3,
129 ParityForced0 = 4
130} SerialParity;
131
132typedef enum {
133 FlowControlNone,
134 FlowControlRTS,
135 FlowControlCTS,
136 FlowControlRTSCTS
137} FlowControl;
138
139typedef struct serial_s {
140 unsigned char __dummy[24];
141} serial_t;
142
143typedef struct spi_s {
144 unsigned char __dummy[24];
145} spi_t;
146
147void serial_init(serial_t *obj, PinName tx, PinName rx);
148void serial_free(serial_t *obj);
149void serial_baud(serial_t *obj, int baudrate);
150void serial_format(serial_t *obj, int data_bits, SerialParity parity, int stop_bits);
151int serial_getc(serial_t *obj);
152void serial_putc(serial_t *obj, int c);
153int serial_readable(serial_t *obj);
154int serial_writable(serial_t *obj);
155
156typedef struct i2c_s {
157 unsigned char __dummy[24];
158} i2c_t;
159
160void i2c_init(i2c_t *obj, PinName sda, PinName scl);
161void i2c_frequency(i2c_t *obj, int hz);
162int i2c_start(i2c_t *obj);
163int i2c_stop(i2c_t *obj);
164int i2c_read(i2c_t *obj, int address, char *data, int length, int stop);
165int i2c_write(i2c_t *obj, int address, const char *data, int length, int stop);
166int i2c_byte_read(i2c_t *obj, int last);
167int i2c_byte_write(i2c_t *obj, int data);
168
169void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel);
170void spi_free(spi_t *obj);
171void spi_format(spi_t *obj, int bits, int mode, int slave);
172void spi_frequency(spi_t *obj, int hz);
173int spi_master_write(spi_t *obj, int value);
174
175void rtc_init(void);
176void rtc_free(void);
177int rtc_isenabled(void);
178time_t rtc_read(void);
179void rtc_write(time_t t);
180
181typedef uint32_t timestamp_t;
182
183void us_ticker_init(void);
184timestamp_t us_ticker_read(void);
185void us_ticker_set_interrupt(timestamp_t timestamp);
186void us_ticker_disable_interrupt(void);
187void us_ticker_clear_interrupt(void);
188
189void wait_ms(int ms);
190void wait_us(int us);
191
192#endif /* _MBED_API_H_ */
Note: See TracBrowser for help on using the repository browser.