@@ -372,120 +372,6 @@ static mp_obj_t machine_usbd_cdc_any(mp_obj_t self_in) {
372
372
}
373
373
static MP_DEFINE_CONST_FUN_OBJ_1 (machine_usbd_cdc_any_obj , machine_usbd_cdc_any ) ;
374
374
375
- /// \method send(data, *, timeout=5000)
376
- /// Send data over the USB CDC:
377
- ///
378
- /// - `data` is the data to send (an integer to send, or a buffer object).
379
- /// - `timeout` is the timeout in milliseconds to wait for the send.
380
- ///
381
- /// Return value: number of bytes sent.
382
- // static const mp_arg_t machine_usbd_cdc_send_args[] = {
383
- // { MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
384
- // { MP_QSTR_timeout, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 5000} },
385
- // };
386
- // #define MACHINE_USBD_CDC_SEND_NUM_ARGS MP_ARRAY_SIZE(machine_usbd_cdc_send_args)
387
-
388
- // static mp_obj_t machine_usbd_cdc_send(size_t n_args, const mp_obj_t *args, mp_map_t *kw_args) {
389
- // // parse args
390
- // machine_usbd_cdc_obj_t *self = MP_OBJ_TO_PTR(args[0]);
391
- // mp_arg_val_t vals[MACHINE_USBD_CDC_SEND_NUM_ARGS];
392
- // mp_arg_parse_all(n_args - 1, args + 1, kw_args, MACHINE_USBD_CDC_SEND_NUM_ARGS, machine_usbd_cdc_send_args, vals);
393
-
394
- // // get the buffer to send from
395
- // mp_buffer_info_t bufinfo;
396
- // uint8_t data[1];
397
- // pyb_buf_get_for_send(vals[0].u_obj, &bufinfo, data);
398
-
399
- // // send the data
400
- // int ret = usbd_cdc_tx(self, bufinfo.buf, bufinfo.len, vals[1].u_int);
401
-
402
- // return mp_obj_new_int(ret);
403
- // }
404
- // static MP_DEFINE_CONST_FUN_OBJ_KW(machine_usbd_cdc_send_obj, 1, machine_usbd_cdc_send);
405
-
406
- /// \method recv(data, *, timeout=5000)
407
- ///
408
- /// Receive data on the bus:
409
- ///
410
- /// - `data` can be an integer, which is the number of bytes to receive,
411
- /// or a mutable buffer, which will be filled with received bytes.
412
- /// - `timeout` is the timeout in milliseconds to wait for the receive.
413
- ///
414
- /// Return value: if `data` is an integer then a new buffer of the bytes received,
415
- /// otherwise the number of bytes read into `data` is returned.
416
- // static mp_obj_t machine_usbd_cdc_recv(size_t n_args, const mp_obj_t *args, mp_map_t *kw_args) {
417
- // // parse args
418
- // machine_usbd_cdc_obj_t *self = MP_OBJ_TO_PTR(args[0]);
419
- // mp_arg_val_t vals[MACHINE_USBD_CDC_SEND_NUM_ARGS];
420
- // mp_arg_parse_all(n_args - 1, args + 1, kw_args, MACHINE_USBD_CDC_SEND_NUM_ARGS, machine_usbd_cdc_send_args, vals);
421
-
422
- // // get the buffer to receive into
423
- // vstr_t vstr;
424
- // mp_obj_t o_ret = pyb_buf_get_for_recv(vals[0].u_obj, &vstr);
425
-
426
- // // receive the data
427
- // int ret = usbd_cdc_rx(self, (uint8_t *)vstr.buf, vstr.len, vals[1].u_int);
428
-
429
- // // return the received data
430
- // if (o_ret != MP_OBJ_NULL) {
431
- // return mp_obj_new_int(ret); // number of bytes read into given buffer
432
- // } else {
433
- // vstr.len = ret; // set actual number of bytes read
434
- // return mp_obj_new_bytes_from_vstr(&vstr); // create a new buffer
435
- // }
436
- // }
437
- // static MP_DEFINE_CONST_FUN_OBJ_KW(machine_usbd_cdc_recv_obj, 1, machine_usbd_cdc_recv);
438
-
439
- static mp_obj_t machine_usbd_cdc_recv (uint n_args , const mp_obj_t * pos_args , mp_map_t * kw_args ) {
440
- enum { ARG_data , ARG_timeout };
441
- static const mp_arg_t allowed_args [] = {
442
- { MP_QSTR_dest , MP_ARG_INT | MP_ARG_OBJ | MP_ARG_REQUIRED , {.u_obj = MP_OBJ_NULL } },
443
- { MP_QSTR_timeout , MP_ARG_INT | MP_ARG_KW_ONLY , {.u_int = 5000 } },
444
- };
445
-
446
- // Parse args.
447
- mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
448
- mp_arg_parse_all (n_args - 1 , pos_args + 1 , kw_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
449
-
450
- vstr_t vstr ;
451
- mp_obj_t o_ret = mp_const_none ;
452
- if (mp_obj_is_int (args [ARG_data ].u_obj )) {
453
- // allocate a new bytearray of given length
454
- vstr_init_len (& vstr , mp_obj_get_int (args [ARG_data ].u_obj ));
455
- } else {
456
- // get the existing buffer
457
- mp_buffer_info_t bufinfo ;
458
- mp_get_buffer_raise (args [ARG_data ].u_obj , & bufinfo , MP_BUFFER_WRITE );
459
- vstr .buf = bufinfo .buf ;
460
- vstr .len = bufinfo .len ;
461
- o_ret = args [ARG_data ].u_obj ;
462
- }
463
- size_t read = 0 ;
464
- uint32_t start = HAL_GetTick ();
465
- size_t timeout = args [ARG_timeout ].u_int ;
466
- while (read < vstr .len && (HAL_GetTick () - start < timeout )) {
467
-
468
- // int ret = machine_usbd_cdc_read(pos_args[0], vstr.buf, vstr.len - read, &errcode);
469
- int ret = mp_usbd_cdc_rx_strn ((char * )vstr .buf + read , vstr .len - read );
470
-
471
- if (ret == 0 ) {
472
- // mp_usbd_task();
473
- } else {
474
- read += ret ;
475
- }
476
- mp_event_wait_ms (timeout );
477
- }
478
-
479
- // return the received data
480
- if (o_ret != MP_OBJ_NULL ) {
481
- return mp_obj_new_int (read ); // number of bytes read into given buffer
482
- } else {
483
- vstr .len = read ; // set actual number of bytes read
484
- return mp_obj_new_bytes_from_vstr (& vstr ); // create a new buffer
485
- }
486
- }
487
- MP_DEFINE_CONST_FUN_OBJ_KW (machine_usbd_cdc_recv_obj , 2 , machine_usbd_cdc_recv );
488
-
489
375
// irq(handler=None, trigger=IRQ_RX, hard=False)
490
376
static mp_obj_t machine_usbd_cdc_irq (size_t n_args , const mp_obj_t * pos_args , mp_map_t * kw_args ) {
491
377
enum { ARG_handler , ARG_trigger , ARG_hard };
@@ -531,8 +417,6 @@ static const mp_rom_map_elem_t machine_usbd_cdc_locals_dict_table[] = {
531
417
// { MP_ROM_QSTR(MP_QSTR_setinterrupt), MP_ROM_PTR(&machine_usbd_cdc_setinterrupt_obj) },
532
418
{ MP_ROM_QSTR (MP_QSTR_isconnected ), MP_ROM_PTR (& machine_usbd_cdc_isconnected_obj ) },
533
419
{ MP_ROM_QSTR (MP_QSTR_any ), MP_ROM_PTR (& machine_usbd_cdc_any_obj ) },
534
- // { MP_ROM_QSTR(MP_QSTR_send), MP_ROM_PTR(&machine_usbd_cdc_send_obj) },
535
- { MP_ROM_QSTR (MP_QSTR_recv ), MP_ROM_PTR (& machine_usbd_cdc_recv_obj ) },
536
420
{ MP_ROM_QSTR (MP_QSTR_read ), MP_ROM_PTR (& mp_stream_read_obj ) },
537
421
{ MP_ROM_QSTR (MP_QSTR_readinto ), MP_ROM_PTR (& mp_stream_readinto_obj ) },
538
422
{ MP_ROM_QSTR (MP_QSTR_readline ), MP_ROM_PTR (& mp_stream_unbuffered_readline_obj )},
0 commit comments