8000 Simplify names for argcheck.c / arg parsing. · lurch/micropython@dbc81df · GitHub
[go: up one dir, main page]

Skip to content

Commit dbc81df

Browse files
committed
Simplify names for argcheck.c / arg parsing.
1 parent 6d3c5e4 commit dbc81df

File tree

8 files changed

+129
-129
lines changed

8 files changed

+129
-129
lines changed

py/argcheck.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,20 @@ void mp_arg_check_num(uint n_args, uint n_kw, uint n_args_min, uint n_args_max,
3434
}
3535
}
3636

37-
void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_allowed, const mp_arg_parse_t *allowed, mp_arg_parse_val_t *out_vals) {
37+
void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_allowed, const mp_arg_t *allowed, mp_arg_val_t *out_vals) {
3838
uint pos_found = 0, kws_found = 0;
3939
for (uint i = 0; i < n_allowed; i++) {
4040
mp_obj_t given_arg;
4141
if (i < n_pos) {
42-
if (allowed[i].flags & MP_ARG_PARSE_KW_ONLY) {
42+
if (allowed[i].flags & MP_ARG_KW_ONLY) {
4343
goto extra_positional;
4444
}
4545
pos_found++;
4646
given_arg = pos[i];
4747
} else {
4848
mp_map_elem_t *kw = mp_map_lookup(kws, MP_OBJ_NEW_QSTR(allowed[i].qstr), MP_MAP_LOOKUP);
4949
if (kw == NULL) {
50-
if (allowed[i].flags & MP_ARG_PARSE_REQUIRED) {
50+
if (allowed[i].flags & MP_ARG_REQUIRED) {
5151
nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_TypeError, "'%s' argument required", qstr_str(allowed[i].qstr)));
5252
}
5353
out_vals[i] = allowed[i].defval;
@@ -57,11 +57,11 @@ void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_all
5757
given_arg = kw->value;
5858
}
5959
}
60-
if ((allowed[i].flags & MP_ARG_PARSE_KIND_MASK) == MP_ARG_PARSE_BOOL) {
60+
if ((allowed[i].flags & MP_ARG_KIND_MASK) == MP_ARG_BOOL) {
6161
out_vals[i].u_bool = mp_obj_is_true(given_arg);
62-
} else if ((allowed[i].flags & MP_ARG_PARSE_KIND_MASK) == MP_ARG_PARSE_INT) {
62+
} else if ((allowed[i].flags & MP_ARG_KIND_MASK) == MP_ARG_INT) {
6363
out_vals[i].u_int = mp_obj_get_int(given_arg);
64-
} else if ((allowed[i].flags & MP_ARG_PARSE_KIND_MASK) == MP_ARG_PARSE_OBJ) {
64+
} else if ((allowed[i].flags & MP_ARG_KIND_MASK) == MP_ARG_OBJ) {
6565
out_vals[i].u_obj = given_arg;
6666
} else {
6767
assert(0);

py/runtime.h

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,31 @@ typedef enum {
55
} mp_vm_return_kind_t;
66

77
typedef enum {
8-
MP_ARG_PARSE_BOOL = 0x001,
9-
MP_ARG_PARSE_INT = 0x002,
10-
MP_ARG_PARSE_OBJ = 0x003,
11-
MP_ARG_PARSE_KIND_MASK = 0x0ff,
12-
MP_ARG_PARSE_REQUIRED = 0x100,
13-
MP_ARG_PARSE_KW_ONLY = 0x200,
14-
} mp_arg_parse_flag_t;
15-
16-
typedef union _mp_arg_parse_val_t {
8+
MP_ARG_BOOL = 0x001,
9+
MP_ARG_INT = 0x002,
10+
MP_ARG_OBJ = 0x003,
11+
MP_ARG_KIND_MASK = 0x0ff,
12+
MP_ARG_REQUIRED = 0x100,
13+
MP_ARG_KW_ONLY = 0x200,
14+
} mp_arg_flag_t;
15+
16+
typedef union _mp_arg_val_t {
1717
bool u_bool;
1818
machine_int_t u_int;
1919
mp_obj_t u_obj;
20-
} mp_arg_parse_val_t;
20+
} mp_arg_val_t;
2121

22-
typedef struct _mp_arg_parse_t {
22+
typedef struct _mp_arg_t {
2323
qstr qstr;
2424
machine_uint_t flags;
25-
mp_arg_parse_val_t defval;
26-
} mp_arg_parse_t;
25+
mp_arg_val_t defval;
26+
} mp_arg_t;
2727

2828
void mp_init(void);
2929
void mp_deinit(void);
3030

3131
void mp_arg_check_num(uint n_args, uint n_kw, uint n_args_min, uint n_args_max, bool takes_kw);
32-
void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_allowed, const mp_arg_parse_t *allowed, mp_arg_parse_val_t *out_vals);
32+
void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_allowed, const mp_arg_t *allowed, mp_arg_val_t *out_vals);
3333

3434
mp_obj_dict_t *mp_locals_get(void);
3535
void mp_locals_set(mp_obj_dict_t *d);

stmhal/dac.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -162,19 +162,19 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_2(pyb_dac_write_obj, pyb_dac_write);
162162
// TODO add callback argument, to call when transfer is finished
163163
// TODO add double buffer argument
164164

165-
STATIC const mp_arg_parse_t pyb_dac_write_timed_accepted_args[] = {
166-
{ MP_QSTR_data, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_OBJ, {.u_obj = MP_OBJ_NULL} },
167-
{ MP_QSTR_freq, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_INT, {.u_int = 0} },
168-
{ MP_QSTR_mode, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = DMA_NORMAL} },
165+
STATIC const mp_arg_t pyb_dac_write_timed_args[] = {
166+
{ MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
167+
{ MP_QSTR_freq, MP_ARG_REQUIRED | MP_ARG_INT, {.u_int = 0} },
168+
{ MP_QSTR_mode, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = DMA_NORMAL} },
169169
};
170-
#define PYB_DAC_WRITE_TIMED_NUM_ARGS ARRAY_SIZE(pyb_dac_write_timed_accepted_args)
170+
#define PYB_DAC_WRITE_TIMED_NUM_ARGS ARRAY_SIZE(pyb_dac_write_timed_args)
171171

172172
mp_obj_t pyb_dac_write_timed(uint n_args, const mp_obj_t *args, mp_map_t *kw_args) {
173173
pyb_dac_obj_t *self = args[0];
174174

175175
// parse args
176-
mp_arg_parse_val_t vals[PYB_DAC_WRITE_TIMED_NUM_ARGS];
177-
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_DAC_WRITE_TIMED_NUM_ARGS, pyb_dac_write_timed_accepted_args, vals);
176+
mp_arg_val_t vals[PYB_DAC_WRITE_TIMED_NUM_ARGS];
177+
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_DAC_WRITE_TIMED_NUM_ARGS, pyb_dac_write_timed_args, vals);
178178

179179
// get the data to write
180180
mp_buffer_info_t bufinfo;

stmhal/extint.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -239,22 +239,22 @@ STATIC mp_obj_t extint_regs(void) {
239239

240240
// line_obj = pyb.ExtInt(pin, mode, pull, callback)
241241

242-
STATIC const mp_arg_parse_t pyb_extint_make_new_accepted_args[] = {
243-
{ MP_QSTR_pin, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_OBJ, {.u_obj = MP_OBJ_NULL} },
244-
{ MP_QSTR_mode, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_INT, {.u_int = 0} },
245-
{ MP_QSTR_pull, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_INT, {.u_int = 0} },
246-
{ MP_QSTR_callback, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_OBJ, {.u_obj = MP_OBJ_NULL} },
242+
STATIC const mp_arg_t pyb_extint_make_new_args[] = {
243+
{ MP_QSTR_pin, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
244+
{ MP_QSTR_mode, MP_ARG_REQUIRED | MP_ARG_INT, {.u_int = 0} },
245+
{ MP_QSTR_pull, MP_ARG_REQUIRED | MP_ARG_INT, {.u_int = 0} },
246+
{ MP_QSTR_callback, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
247247
};
248-
#define PYB_EXTINT_MAKE_NEW_NUM_ARGS ARRAY_SIZE(pyb_extint_make_new_accepted_args)
248+
#define PYB_EXTINT_MAKE_NEW_NUM_ARGS ARRAY_SIZE(pyb_extint_make_new_args)
249249

250250
STATIC mp_obj_t extint_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const mp_obj_t *args) {
251251
// type_in == extint_obj_type
252252

253253
// parse args
254254
mp_map_t kw_args;
255255
mp_map_init_fixed_table(&kw_args, n_kw, args + n_args);
256-
mp_arg_parse_val_t vals[PYB_EXTINT_MAKE_NEW_NUM_ARGS];
257-
mp_arg_parse_all(n_args, args, &kw_args, PYB_EXTINT_MAKE_NEW_NUM_ARGS, pyb_extint_make_new_accepted_args, vals);
256+
mp_arg_val_t vals[PYB_EXTINT_MAKE_NEW_NUM_ARGS];
257+
mp_arg_parse_all(n_args, args, &kw_args, PYB_EXTINT_MAKE_NEW_NUM_ARGS, pyb_extint_make_new_args, vals);
258258

259259
extint_obj_t *self = m_new_obj(extint_obj_t);
260260
self->base.type = type_in;

stmhal/i2c.c

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -176,18 +176,18 @@ STATIC void pyb_i2c_print(void (*print)(void *env, const char *fmt, ...), void *
176176
}
177177
}
178178

179-
STATIC const mp_arg_parse_t pyb_i2c_init_accepted_args[] = {
180-
{ MP_QSTR_mode, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_INT, {.u_int = 0} },
181-
{ MP_QSTR_addr, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 0x12} },
182-
{ MP_QSTR_baudrate, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 400000} },
183-
{ MP_QSTR_gencall, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_BOOL, {.u_bool = false} },
179+
STATIC const mp_arg_t pyb_i2c_init_args[] = {
180+
{ MP_QSTR_mode, MP_ARG_REQUIRED | MP_ARG_INT, {.u_int = 0} },
181+
{ MP_QSTR_addr, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 0x12} },
182+
{ MP_QSTR_baudrate, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 400000} },
183+
{ MP_QSTR_gencall, MP_ARG_KW_ONLY | MP_ARG_BOOL, {.u_bool = false} },
184184
};
185-
#define PYB_I2C_INIT_NUM_ARGS ARRAY_SIZE(pyb_i2c_init_accepted_args)
185+
#define PYB_I2C_INIT_NUM_ARGS ARRAY_SIZE(pyb_i2c_init_args)
186186

187187
STATIC mp_obj_t pyb_i2c_init_helper(const pyb_i2c_obj_t *self, uint n_args, const mp_obj_t *args, mp_map_t *kw_args) {
188188
// parse args
189-
mp_arg_parse_val_t vals[PYB_I2C_INIT_NUM_ARGS];
190-
mp_arg_parse_all(n_args, args, kw_args, PYB_I2C_INIT_NUM_ARGS, pyb_i2c_init_accepted_args, vals);
189+
mp_arg_val_t vals[PYB_I2C_INIT_NUM_ARGS];
190+
mp_arg_parse_all(n_args, args, kw_args, PYB_I2C_INIT_NUM_ARGS, pyb_i2c_init_args, vals);
191191

192192
// set the I2C configuration values
193193
I2C_InitTypeDef *init = &self->i2c->Init;
@@ -295,19 +295,19 @@ STATIC mp_obj_t pyb_i2c_scan(mp_obj_t self_in) {
295295
}
296296
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pyb_i2c_scan_obj, pyb_i2c_scan);
297297

298-
STATIC const mp_arg_parse_t pyb_i2c_send_accepted_args[] = {
299-
{ MP_QSTR_send, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_OBJ, {.u_obj = MP_OBJ_NULL} },
300-
{ MP_QSTR_addr, MP_ARG_PARSE_INT, {.u_int = PYB_I2C_MASTER_ADDRESS} },
301-
{ MP_QSTR_timeout, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 5000} },
298+
STATIC const mp_arg_t pyb_i2c_send_args[] = {
299+
{ MP_QSTR_send, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
300+
{ MP_QSTR_addr, MP_ARG_INT, {.u_int = PYB_I2C_MASTER_ADDRESS} },
301+
{ MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 5000} },
302302
};
303-
#define PYB_I2C_SEND_NUM_ARGS ARRAY_SIZE(pyb_i2c_send_accepted_args)
303+
#define PYB_I2C_SEND_NUM_ARGS ARRAY_SIZE(pyb_i2c_send_args)
304304

305305
STATIC mp_obj_t pyb_i2c_send(uint n_args, const mp_obj_t *args, mp_map_t *kw_args) {
306306
pyb_i2c_obj_t *self = args[0];
307307

308308
// parse args
309-
mp_arg_parse_val_t vals[PYB_I2C_SEND_NUM_ARGS];
310-
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_I2C_SEND_NUM_ARGS, pyb_i2c_send_accepted_args, vals);
309+
mp_arg_val_t vals[PYB_I2C_SEND_NUM_ARGS];
310+
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_I2C_SEND_NUM_ARGS, pyb_i2c_send_args, vals);
311311

312312
// get the buffer to send from
313313
mp_buffer_info_t bufinfo;
@@ -335,19 +335,19 @@ STATIC mp_obj_t pyb_i2c_send(uint n_args, const mp_obj_t *args, mp_map_t *kw_arg
335335
}
336336
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_i2c_send_obj, 1, pyb_i2c_send);
337337

338-
STATIC const mp_arg_parse_t pyb_i2c_recv_accepted_args[] = {
339-
{ MP_QSTR_recv, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_OBJ, {.u_obj = MP_OBJ_NULL} },
340-
{ MP_QSTR_addr, MP_ARG_PARSE_INT, {.u_int = PYB_I2C_MASTER_ADDRESS} },
341-
{ MP_QSTR_timeout, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 5000} },
338+
STATIC const mp_arg_t pyb_i2c_recv_args[] = {
339+
{ MP_QSTR_recv, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
340+
{ MP_QSTR_addr, MP_ARG_INT, {.u_int = PYB_I2C_MASTER_ADDRESS} },
341+
{ MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 5000} },
342342
};
343-
#define PYB_I2C_RECV_NUM_ARGS ARRAY_SIZE(pyb_i2c_recv_accepted_args)
343+
#define PYB_I2C_RECV_NUM_ARGS ARRAY_SIZE(pyb_i2c_recv_args)
344344

345345
STATIC mp_obj_t pyb_i2c_recv(uint n_args, const mp_obj_t *args, mp_map_t *kw_args) {
346346
pyb_i2c_obj_t *self = args[0];
347347

348348
// parse args
349-
mp_arg_parse_val_t vals[PYB_I2C_RECV_NUM_ARGS];
350-
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_I2C_RECV_NUM_ARGS, pyb_i2c_recv_accepted_args, vals);
349+
mp_arg_val_t vals[PYB_I2C_RECV_NUM_ARGS];
350+
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_I2C_RECV_NUM_ARGS, pyb_i2c_recv_args, vals);
351351

352352
// get the buffer to receive into
353353
mp_buffer_info_t bufinfo;
@@ -379,13 +379,13 @@ STATIC mp_obj_t pyb_i2c_recv(uint n_args, const mp_obj_t *args, mp_map_t *kw_arg
379379
}
380380
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_i2c_recv_obj, 1, pyb_i2c_recv);
381381

382-
STATIC const mp_arg_parse_t pyb_i2c_mem_read_accepted_args[] = {
383-
{ MP_QSTR_data, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_OBJ, {.u_obj = MP_OBJ_NULL} },
384-
{ MP_QSTR_addr, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_INT, {.u_int = 0} },
385-
{ MP_QSTR_memaddr, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_INT, {.u_int = 0} },
386-
{ MP_QSTR_timeout, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 5000} },
382+
STATIC const mp_arg_t pyb_i2c_mem_read_args[] = {
383+
{ MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
384+
{ MP_QSTR_addr, MP_ARG_REQUIRED | MP_ARG_INT, {.u_int = 0} },
385+
{ MP_QSTR_memaddr, MP_ARG_REQUIRED | MP_ARG_INT, {.u_int = 0} },
386+
{ MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 5000} },
387387
};
388-
#define PYB_I2C_MEM_READ_NUM_ARGS ARRAY_SIZE(pyb_i2c_mem_read_accepted_args)
388+
#define PYB_I2C_MEM_READ_NUM_ARGS ARRAY_SIZE(pyb_i2c_mem_read_args)
389389

390390
STATIC mp_obj_t pyb_i2c_mem_read(uint n_args, const mp_obj_t *args, mp_map_t *kw_args) {
391391
pyb_i2c_obj_t *self = args[0];
@@ -395,8 +395,8 @@ STATIC mp_obj_t pyb_i2c_mem_read(uint n_args, const mp_obj_t *args, mp_map_t *kw
395395
}
396396

397397
// parse args
398-
mp_arg_parse_val_t vals[PYB_I2C_MEM_READ_NUM_ARGS];
399-
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_I2C_MEM_READ_NUM_ARGS, pyb_i2c_mem_read_accepted_args, vals);
398+
mp_arg_val_t vals[PYB_I2C_MEM_READ_NUM_ARGS];
399+
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_I2C_MEM_READ_NUM_ARGS, pyb_i2c_mem_read_args, vals);
400400

401401
// get the buffer to read into
402402
mp_buffer_info_t bufinfo;
@@ -430,8 +430,8 @@ STATIC mp_obj_t pyb_i2c_mem_write(uint n_args, const mp_obj_t *args, mp_map_t *k
430430
}
431431

432432
// parse args (same as mem_read)
433-
mp_arg_parse_val_t vals[PYB_I2C_MEM_READ_NUM_ARGS];
434-
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_I2C_MEM_READ_NUM_ARGS, pyb_i2c_mem_read_accepted_args, vals);
433+
mp_arg_val_t vals[PYB_I2C_MEM_READ_NUM_ARGS];
434+
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_I2C_MEM_READ_NUM_ARGS, pyb_i2c_mem_read_args, vals);
435435

436436
// get the buffer to write from
437437
mp_buffer_info_t bufinfo;

stmhal/spi.c

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -194,24 +194,24 @@ STATIC void pyb_spi_print(void (*print)(void *env, const char *fmt, ...), void *
194194
}
195195
}
196196

197-
STATIC const mp_arg_parse_t pyb_spi_init_accepted_args[] = {
198-
{ MP_QSTR_mode, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_INT, {.u_int = 0} },
199-
{ MP_QSTR_baudrate, MP_ARG_PARSE_INT, {.u_int = 328125} },
200-
{ MP_QSTR_polarity, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 1} },
201-
{ MP_QSTR_phase, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 1} },
202-
{ MP_QSTR_dir, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = SPI_DIRECTION_2LINES} },
203-
{ MP_QSTR_bits, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 8} },
204-
{ MP_QSTR_nss, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = SPI_NSS_SOFT} },
205-
{ MP_QSTR_firstbit, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = SPI_FIRSTBIT_MSB} },
206-
{ MP_QSTR_ti, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_BOOL, {.u_bool = false} },
207-
{ MP_QSTR_crc, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_OBJ, {.u_obj = mp_const_none} },
197+
STATIC const mp_arg_t pyb_spi_init_args[] = {
198+
{ MP_QSTR_mode, MP_ARG_REQUIRED | MP_ARG_INT, {.u_int = 0} },
199+
{ MP_QSTR_baudrate, MP_ARG_INT, {.u_int = 328125} },
200+
{ MP_QSTR_polarity, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 1} },
201+
{ MP_QSTR_phase, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 1} },
202+
{ MP_QSTR_dir, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = SPI_DIRECTION_2LINES} },
203+
{ MP_QSTR_bits, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 8} },
204+
{ MP_QSTR_nss, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = SPI_NSS_SOFT} },
205+
{ MP_QSTR_firstbit, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = SPI_FIRSTBIT_MSB} },
206+
{ MP_QSTR_ti, MP_ARG_KW_ONLY | MP_ARG_BOOL, {.u_bool = false} },
207+
{ MP_QSTR_crc, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_none} },
208208
};
209-
#define PYB_SPI_INIT_NUM_ARGS ARRAY_SIZE(pyb_spi_init_accepted_args)
209+
#define PYB_SPI_INIT_NUM_ARGS ARRAY_SIZE(pyb_spi_init_args)
210210

211211
STATIC mp_obj_t pyb_spi_init_helper(const pyb_spi_obj_t *self, uint n_args, const mp_obj_t *args, mp_map_t *kw_args) {
212212
// parse args
213-
mp_arg_parse_val_t vals[PYB_SPI_INIT_NUM_ARGS];
214-
mp_arg_parse_all(n_args, args, kw_args, PYB_SPI_INIT_NUM_ARGS, pyb_spi_init_accepted_args, vals);
213+
mp_arg_val_t vals[PYB_SPI_INIT_NUM_ARGS];
214+
mp_arg_parse_all(n_args, args, kw_args, PYB_SPI_INIT_NUM_ARGS, pyb_spi_init_args, vals);
215215

216216
// set the SPI configuration values
217217
SPI_InitTypeDef *init = &self->spi->Init;
@@ -295,20 +295,20 @@ STATIC mp_obj_t pyb_spi_deinit(mp_obj_t self_in) {
295295
}
296296
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pyb_spi_deinit_obj, pyb_spi_deinit);
297297

298-
STATIC const mp_arg_parse_t pyb_spi_send_accepted_args[] = {
299-
{ MP_QSTR_send, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_OBJ, {.u_obj = MP_OBJ_NULL} },
300-
{ MP_QSTR_timeout, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 5000} },
298+
STATIC const mp_arg_t pyb_spi_send_args[] = {
299+
{ MP_QSTR_send, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
300+
{ MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 5000} },
301301
};
302-
#define PYB_SPI_SEND_NUM_ARGS ARRAY_SIZE(pyb_spi_send_accepted_args)
302+
#define PYB_SPI_SEND_NUM_ARGS ARRAY_SIZE(pyb_spi_send_args)
303303

304304
STATIC mp_obj_t pyb_spi_send(uint n_args, const mp_obj_t *args, mp_map_t *kw_args) {
305305
// TODO assumes transmission size is 8-bits wide
306306

307307
pyb_spi_obj_t *self = args[0];
308308

309309
// parse args
310-
mp_arg_parse_val_t vals[PYB_SPI_SEND_NUM_ARGS];
311-
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_SPI_SEND_NUM_ARGS, pyb_spi_send_accepted_args, vals);
310+
mp_arg_val_t vals[PYB_SPI_SEND_NUM_ARGS];
311+
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_SPI_SEND_NUM_ARGS, pyb_spi_send_args, vals);
312312

313313
// get the buffer to send from
314314
mp_buffer_info_t bufinfo;
@@ -327,20 +327,20 @@ STATIC mp_obj_t pyb_spi_send(uint n_args, const mp_obj_t *args, mp_map_t *kw_arg
327327
}
328328
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_spi_send_obj, 1, pyb_spi_send);
329329

330-
STATIC const mp_arg_parse_t pyb_spi_recv_accepted_args[] = {
331-
{ MP_QSTR_recv, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_OBJ, {.u_obj = MP_OBJ_NULL} },
332-
{ MP_QSTR_timeout, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 5000} },
330+
STATIC const mp_arg_t pyb_spi_recv_args[] = {
331+
{ MP_QSTR_recv, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
332+
{ MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 5000} },
333333
};
334-
#define PYB_SPI_RECV_NUM_ARGS ARRAY_SIZE(pyb_spi_recv_accepted_args)
334+
#define PYB_SPI_RECV_NUM_ARGS ARRAY_SIZE(pyb_spi_recv_args)
335335

336336
STATIC mp_obj_t pyb_spi_recv(uint n_args, const mp_obj_t *args, mp_map_t *kw_args) {
337337
// TODO assumes transmission size is 8-bits wide
338338

339339
pyb_spi_obj_t *self = args[0];
340340

341341
// parse args
342-
mp_arg_parse_val_t vals[PYB_SPI_RECV_NUM_ARGS];
343-
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_SPI_RECV_NUM_ARGS, pyb_spi_recv_accepted_args, vals);
342+
mp_arg_val_t vals[PYB_SPI_RECV_NUM_ARGS];
343+
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_SPI_RECV_NUM_ARGS, pyb_spi_recv_args, vals);
344344

345345
// get the buffer to receive into
346346
mp_buffer_info_t bufinfo;
@@ -363,21 +363,21 @@ STATIC mp_obj_t pyb_spi_recv(uint n_args, const mp_obj_t *args, mp_map_t *kw_arg
363363
}
364364
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_spi_recv_obj, 1, pyb_spi_recv);
365365

366-
STATIC const mp_arg_parse_t pyb_spi_send_recv_accepted_args[] = {
367-
{ MP_QSTR_send, MP_ARG_PARSE_REQUIRED | MP_ARG_PARSE_OBJ, {.u_obj = MP_OBJ_NULL} },
368-
{ MP_QSTR_recv, MP_ARG_PARSE_OBJ, {.u_obj = MP_OBJ_NULL} },
369-
{ MP_QSTR_timeout, MP_ARG_PARSE_KW_ONLY | MP_ARG_PARSE_INT, {.u_int = 5000} },
366+
STATIC const mp_arg_t pyb_spi_send_recv_args[] = {
367+
{ MP_QSTR_send, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
368+
{ MP_QSTR_recv, MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
369+
{ MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 5000} },
370370
};
371-
#define PYB_SPI_SEND_RECV_NUM_ARGS ARRAY_SIZE(pyb_spi_send_recv_accepted_args)
371+
#define PYB_SPI_SEND_RECV_NUM_ARGS ARRAY_SIZE(py 86AE b_spi_send_recv_args)
372372

373373
STATIC mp_obj_t pyb_spi_send_recv(uint n_args, const mp_obj_t *args, mp_map_t *kw_args) {
374374
// TODO assumes transmission size is 8-bits wide
375375

376376
pyb_spi_obj_t *self = args[0];
377377

378378
// parse args
379-
mp_arg_parse_val_t vals[PYB_SPI_SEND_RECV_NUM_ARGS];
380-
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_SPI_SEND_RECV_NUM_ARGS, pyb_spi_send_recv_accepted_args, vals);
379+
mp_arg_val_t vals[PYB_SPI_SEND_RECV_NUM_ARGS];
380+
mp_arg_parse_all(n_args - 1, args + 1, kw_args, PYB_SPI_SEND_RECV_NUM_ARGS, pyb_spi_send_recv_args, vals);
381381

382382
// get buffers to send from/receive to
383383
mp_buffer_info_t bufinfo_send;

0 commit comments

Comments
 (0)
0