all: Raise exceptions via mp_raise_XXX

- Changed: ValueError, TypeError, NotImplementedError
  - OSError invocations unchanged, because the corresponding utility
    function takes ints, not strings like the long form invocation.
  - OverflowError, IndexError and RuntimeError etc. not changed for now
    until we decide whether to add new utility functions.
This commit is contained in:
Javier Candeira 2017-08-09 14:40:45 +10:00
parent b6a3289564
commit 35a1fea90b
41 changed files with 86 additions and 95 deletions

View File

@ -40,7 +40,7 @@ STATIC mp_obj_t dht_readinto(mp_obj_t pin_in, mp_obj_t buf_in) {
mp_get_buffer_raise(buf_in, &bufinfo, MP_BUFFER_WRITE); mp_get_buffer_raise(buf_in, &bufinfo, MP_BUFFER_WRITE);
if (bufinfo.len < 5) { if (bufinfo.len < 5) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "buffer too small")); mp_raise_ValueError("buffer too small");
} }
// issue start command // issue start command

View File

@ -122,15 +122,13 @@ STATIC void machine_hspi_init(mp_obj_base_t *self_in, size_t n_args, const mp_ob
spi_init_gpio(HSPI, SPI_CLK_80MHZ_NODIV); spi_init_gpio(HSPI, SPI_CLK_80MHZ_NODIV);
spi_clock(HSPI, 0, 0); spi_clock(HSPI, 0, 0);
} else if (self->baudrate > 40000000L) { } else if (self->baudrate > 40000000L) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, mp_raise_ValueError("impossible baudrate");
"impossible baudrate"));
} else { } else {
uint32_t divider = 40000000L / self->baudrate; uint32_t divider = 40000000L / self->baudrate;
uint16_t prediv = MIN(divider, SPI_CLKDIV_PRE + 1); uint16_t prediv = MIN(divider, SPI_CLKDIV_PRE + 1);
uint16_t cntdiv = (divider / prediv) * 2; // cntdiv has to be even uint16_t cntdiv = (divider / prediv) * 2; // cntdiv has to be even
if (cntdiv > SPI_CLKCNT_N + 1 || cntdiv == 0 || prediv == 0) { if (cntdiv > SPI_CLKCNT_N + 1 || cntdiv == 0 || prediv == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, mp_raise_ValueError("impossible baudrate");
"impossible baudrate"));
} }
self->baudrate = 80000000L / (prediv * cntdiv); self->baudrate = 80000000L / (prediv * cntdiv);
spi_init_gpio(HSPI, SPI_CLK_USE_DIV); spi_init_gpio(HSPI, SPI_CLK_USE_DIV);

View File

@ -125,7 +125,7 @@ void pin_intr_handler(uint32_t status) {
pyb_pin_obj_t *mp_obj_get_pin_obj(mp_obj_t pin_in) { pyb_pin_obj_t *mp_obj_get_pin_obj(mp_obj_t pin_in) {
if (mp_obj_get_type(pin_in) != &pyb_pin_type) { if (mp_obj_get_type(pin_in) != &pyb_pin_type) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "expecting a pin")); mp_raise_ValueError("expecting a pin");
} }
pyb_pin_obj_t *self = pin_in; pyb_pin_obj_t *self = pin_in;
return self; return self;
@ -280,7 +280,7 @@ STATIC mp_obj_t pyb_pin_obj_init_helper(pyb_pin_obj_t *self, mp_uint_t n_args, c
// only pull-down seems to be supported by the hardware, and // only pull-down seems to be supported by the hardware, and
// we only expose pull-up behaviour in software // we only expose pull-up behaviour in software
if (pull != GPIO_PULL_NONE) { if (pull != GPIO_PULL_NONE) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Pin(16) doesn't support pull")); mp_raise_ValueError("Pin(16) doesn't support pull");
} }
} else { } else {
PIN_FUNC_SELECT(self->periph, self->func); PIN_FUNC_SELECT(self->periph, self->func);
@ -319,7 +319,7 @@ mp_obj_t mp_pin_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw,
pin = (pyb_pin_obj_t*)&pyb_pin_obj[wanted_pin]; pin = (pyb_pin_obj_t*)&pyb_pin_obj[wanted_pin];
} }
if (pin == NULL || pin->base.type == NULL) { if (pin == NULL || pin->base.type == NULL) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid pin")); mp_raise_ValueError("invalid pin");
} }
if (n_args > 1 || n_kw > 0) { if (n_args > 1 || n_kw > 0) {

View File

@ -183,8 +183,7 @@ STATIC mp_obj_t pyb_rtc_memory(mp_uint_t n_args, const mp_obj_t *args) {
mp_get_buffer_raise(args[1], &bufinfo, MP_BUFFER_READ); mp_get_buffer_raise(args[1], &bufinfo, MP_BUFFER_READ);
if (bufinfo.len > MEM_USER_MAXLEN) { if (bufinfo.len > MEM_USER_MAXLEN) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, mp_raise_ValueError("buffer too long");
"buffer too long"));
} }
len = bufinfo.len; len = bufinfo.len;
@ -208,7 +207,7 @@ STATIC mp_obj_t pyb_rtc_alarm(mp_obj_t self_in, mp_obj_t alarm_id, mp_obj_t time
// check we want alarm0 // check we want alarm0
if (mp_obj_get_int(alarm_id) != 0) { if (mp_obj_get_int(alarm_id) != 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid alarm")); mp_raise_ValueError("invalid alarm");
} }
// set expiry time (in microseconds) // set expiry time (in microseconds)
@ -245,7 +244,7 @@ STATIC mp_obj_t pyb_rtc_irq(size_t n_args, const mp_obj_t *pos_args, mp_map_t *k
// check we want alarm0 // check we want alarm0
if (args[ARG_trigger].u_int != 0) { if (args[ARG_trigger].u_int != 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid alarm")); mp_raise_ValueError("invalid alarm");
} }
// set the wake value // set the wake value

View File

@ -118,7 +118,7 @@ STATIC mp_obj_t esp_flash_write(mp_obj_t offset_in, const mp_obj_t buf_in) {
mp_buffer_info_t bufinfo; mp_buffer_info_t bufinfo;
mp_get_buffer_raise(buf_in, &bufinfo, MP_BUFFER_READ); mp_get_buffer_raise(buf_in, &bufinfo, MP_BUFFER_READ);
if (bufinfo.len & 0x3) { if (bufinfo.len & 0x3) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "len must be multiple of 4")); mp_raise_ValueError("len must be multiple of 4");
} }
SpiFlashOpResult res = spi_flash_write(offset, bufinfo.buf, bufinfo.len); SpiFlashOpResult res = spi_flash_write(offset, bufinfo.buf, bufinfo.len);
if (res == SPI_FLASH_RESULT_OK) { if (res == SPI_FLASH_RESULT_OK) {

View File

@ -59,8 +59,7 @@ STATIC mp_obj_t machine_freq(mp_uint_t n_args, const mp_obj_t *args) {
// set // set
mp_int_t freq = mp_obj_get_int(args[0]) / 1000000; mp_int_t freq = mp_obj_get_int(args[0]) / 1000000;
if (freq != 80 && freq != 160) { if (freq != 80 && freq != 160) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, mp_raise_ValueError("frequency can only be either 80Mhz or 160MHz");
"frequency can only be either 80Mhz or 160MHz"));
} }
system_update_cpu_freq(freq); system_update_cpu_freq(freq);
return mp_const_none; return mp_const_none;

View File

@ -275,8 +275,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(esp_ifconfig_obj, 1, 2, esp_ifconfig)
STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs) { STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs) {
if (n_args != 1 && kwargs->used != 0) { if (n_args != 1 && kwargs->used != 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, mp_raise_TypeError("either pos or kw args are allowed");
"either pos or kw args are allowed"));
} }
wlan_if_obj_t *self = MP_OBJ_TO_PTR(args[0]); wlan_if_obj_t *self = MP_OBJ_TO_PTR(args[0]);
@ -303,8 +302,7 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
mp_buffer_info_t bufinfo; mp_buffer_info_t bufinfo;
mp_get_buffer_raise(kwargs->table[i].value, &bufinfo, MP_BUFFER_READ); mp_get_buffer_raise(kwargs->table[i].value, &bufinfo, MP_BUFFER_READ);
if (bufinfo.len != 6) { if (bufinfo.len != 6) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, mp_raise_ValueError("invalid buffer length");
"invalid buffer length"));
} }
wifi_set_macaddr(self->if_id, bufinfo.buf); wifi_set_macaddr(self->if_id, bufinfo.buf);
break; break;
@ -374,8 +372,7 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
// Get config // Get config
if (n_args != 2) { if (n_args != 2) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, mp_raise_TypeError("can query only one param");
"can query only one param"));
} }
mp_obj_t val; mp_obj_t val;
@ -422,8 +419,7 @@ STATIC mp_obj_t esp_config(size_t n_args, const mp_obj_t *args, mp_map_t *kwargs
return val; return val;
unknown: unknown:
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, mp_raise_ValueError("unknown config param");
"unknown config param"));
} }
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(esp_config_obj, 1, esp_config); STATIC MP_DEFINE_CONST_FUN_OBJ_KW(esp_config_obj, 1, esp_config);

View File

@ -129,15 +129,15 @@ STATIC mp_obj_t lwip_slip_make_new(mp_obj_t type_in, size_t n_args, size_t n_kw,
ip_addr_t iplocal, ipremote; ip_addr_t iplocal, ipremote;
if (!ipaddr_aton(mp_obj_str_get_str(args[1]), &iplocal)) { if (!ipaddr_aton(mp_obj_str_get_str(args[1]), &iplocal)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "not a valid local IP")); mp_raise_ValueError("not a valid local IP");
} }
if (!ipaddr_aton(mp_obj_str_get_str(args[2]), &ipremote)) { if (!ipaddr_aton(mp_obj_str_get_str(args[2]), &ipremote)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "not a valid remote IP")); mp_raise_ValueError("not a valid remote IP");
} }
struct netif *n = &lwip_slip_obj.lwip_netif; struct netif *n = &lwip_slip_obj.lwip_netif;
if (netif_add(n, &iplocal, IP_ADDR_BROADCAST, &ipremote, NULL, slipif_init, ip_input) == NULL) { if (netif_add(n, &iplocal, IP_ADDR_BROADCAST, &ipremote, NULL, slipif_init, ip_input) == NULL) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "out of memory")); mp_raise_ValueError("out of memory");
} }
netif_set_up(n); netif_set_up(n);
netif_set_default(n); netif_set_default(n);
@ -1033,7 +1033,7 @@ STATIC mp_obj_t lwip_socket_sendall(mp_obj_t self_in, mp_obj_t buf_in) {
break; break;
} }
case MOD_NETWORK_SOCK_DGRAM: case MOD_NETWORK_SOCK_DGRAM:
mp_not_implemented(""); mp_raise_NotImplementedError("");
break; break;
} }

View File

@ -109,7 +109,7 @@ mp_obj_t mod_binascii_a2b_base64(mp_obj_t data) {
mp_buffer_info_t bufinfo; mp_buffer_info_t bufinfo;
mp_get_buffer_raise(data, &bufinfo, MP_BUFFER_READ); mp_get_buffer_raise(data, &bufinfo, MP_BUFFER_READ);
if (bufinfo.len % 4 != 0) { if (bufinfo.len % 4 != 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "incorrect padding")); mp_raise_ValueError("incorrect padding");
} }
vstr_t vstr; vstr_t vstr;
@ -136,11 +136,11 @@ mp_obj_t mod_binascii_a2b_base64(mp_obj_t data) {
hold[j] = 63; hold[j] = 63;
} else if (in[j] == '=') { } else if (in[j] == '=') {
if (j < 2 || i > 4) { if (j < 2 || i > 4) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "incorrect padding")); mp_raise_ValueError("incorrect padding");
} }
hold[j] = 64; hold[j] = 64;
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid character")); mp_raise_ValueError("invalid character");
} }
} }
in += 4; in += 4;

View File

@ -118,7 +118,7 @@ typedef struct _mp_obj_uctypes_struct_t {
} mp_obj_uctypes_struct_t; } mp_obj_uctypes_struct_t;
STATIC NORETURN void syntax_error(void) { STATIC NORETURN void syntax_error(void) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "syntax error in uctypes descriptor")); mp_raise_TypeError("syntax error in uctypes descriptor");
} }
STATIC mp_obj_t uctypes_struct_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) { STATIC mp_obj_t uctypes_struct_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) {
@ -215,7 +215,7 @@ STATIC mp_uint_t uctypes_struct_size(mp_obj_t desc_in, int layout_type, mp_uint_
// but scalar structure field is lowered into native Python int, so all // but scalar structure field is lowered into native Python int, so all
// type info is lost. So, we cannot say if it's scalar type description, // type info is lost. So, we cannot say if it's scalar type description,
// or such lowered scalar. // or such lowered scalar.
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "Cannot unambiguously get sizeof scalar")); mp_raise_TypeError("Cannot unambiguously get sizeof scalar");
} }
syntax_error(); syntax_error();
} }
@ -393,7 +393,7 @@ STATIC mp_obj_t uctypes_struct_attr_op(mp_obj_t self_in, qstr attr, mp_obj_t set
// TODO: Support at least OrderedDict in addition // TODO: Support at least OrderedDict in addition
if (!MP_OBJ_IS_TYPE(self->desc, &mp_type_dict)) { if (!MP_OBJ_IS_TYPE(self->desc, &mp_type_dict)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "struct: no fields")); mp_raise_TypeError("struct: no fields");
} }
mp_obj_t deref = mp_obj_dict_get(self->desc, MP_OBJ_NEW_QSTR(attr)); mp_obj_t deref = mp_obj_dict_get(self->desc, MP_OBJ_NEW_QSTR(attr));
@ -526,7 +526,7 @@ STATIC mp_obj_t uctypes_struct_subscr(mp_obj_t self_in, mp_obj_t index_in, mp_ob
} else { } else {
// load / store // load / store
if (!MP_OBJ_IS_TYPE(self->desc, &mp_type_tuple)) { if (!MP_OBJ_IS_TYPE(self->desc, &mp_type_tuple)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "struct: cannot index")); mp_raise_TypeError("struct: cannot index");
} }
mp_obj_tuple_t *t = MP_OBJ_TO_PTR(self->desc); mp_obj_tuple_t *t = MP_OBJ_TO_PTR(self->desc);

View File

@ -35,7 +35,7 @@
STATIC mp_obj_list_t *get_heap(mp_obj_t heap_in) { STATIC mp_obj_list_t *get_heap(mp_obj_t heap_in) {
if (!MP_OBJ_IS_TYPE(heap_in, &mp_type_list)) { if (!MP_OBJ_IS_TYPE(heap_in, &mp_type_list)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "heap must be a list")); mp_raise_TypeError("heap must be a list");
} }
return MP_OBJ_TO_PTR(heap_in); return MP_OBJ_TO_PTR(heap_in);
} }

View File

@ -269,7 +269,7 @@ STATIC mp_obj_t mod_ujson_load(mp_obj_t stream_obj) {
return stack_top; return stack_top;
fail: fail:
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "syntax error in JSON")); mp_raise_ValueError("syntax error in JSON");
} }
STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_ujson_load_obj, mod_ujson_load); STATIC MP_DEFINE_CONST_FUN_OBJ_1(mod_ujson_load_obj, mod_ujson_load);

View File

@ -156,7 +156,7 @@ STATIC mp_obj_t re_split(size_t n_args, const mp_obj_t *args) {
mp_obj_t s = mp_obj_new_str_of_type(str_type, (const byte*)subj.begin, caps[0] - subj.begin); mp_obj_t s = mp_obj_new_str_of_type(str_type, (const byte*)subj.begin, caps[0] - subj.begin);
mp_obj_list_append(retval, s); mp_obj_list_append(retval, s);
if (self->re.sub > 0) { if (self->re.sub > 0) {
mp_not_implemented("Splitting with sub-captures"); mp_raise_NotImplementedError("Splitting with sub-captures");
} }
subj.begin = caps[1]; subj.begin = caps[1];
if (maxsplit > 0 && --maxsplit == 0) { if (maxsplit > 0 && --maxsplit == 0) {
@ -200,7 +200,7 @@ STATIC mp_obj_t mod_re_compile(size_t n_args, const mp_obj_t *args) {
int error = re1_5_compilecode(&o->re, re_str); int error = re1_5_compilecode(&o->re, re_str);
if (error != 0) { if (error != 0) {
error: error:
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Error in regex")); mp_raise_ValueError("Error in regex");
} }
if (flags & FLAG_DEBUG) { if (flags & FLAG_DEBUG) {
re1_5_dumpcode(&o->re); re1_5_dumpcode(&o->re);

View File

@ -153,7 +153,7 @@ STATIC mp_obj_t socket_setblocking(mp_obj_t self_in, mp_obj_t flag_in) {
// Currently supports only blocking mode // Currently supports only blocking mode
(void)self_in; (void)self_in;
if (!mp_obj_is_true(flag_in)) { if (!mp_obj_is_true(flag_in)) {
mp_not_implemented(""); mp_raise_NotImplementedError("");
} }
return mp_const_none; return mp_const_none;
} }

View File

@ -92,7 +92,7 @@ STATIC mp_obj_t decompio_make_new(const mp_obj_type_t *type, size_t n_args, size
dict_opt = uzlib_zlib_parse_header(&o->decomp); dict_opt = uzlib_zlib_parse_header(&o->decomp);
if (dict_opt < 0) { if (dict_opt < 0) {
header_error: header_error:
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "compression header")); mp_raise_ValueError("compression header");
} }
dict_sz = 1 << dict_opt; dict_sz = 1 << dict_opt;
} else { } else {

View File

@ -31,6 +31,7 @@
#include "py/obj.h" #include "py/obj.h"
#include "py/nlr.h" #include "py/nlr.h"
#include "py/runtime.h"
#include "lib/netutils/netutils.h" #include "lib/netutils/netutils.h"
// Takes an array with a raw IPv4 address and returns something like '192.168.0.1'. // Takes an array with a raw IPv4 address and returns something like '192.168.0.1'.
@ -80,7 +81,7 @@ void netutils_parse_ipv4_addr(mp_obj_t addr_in, uint8_t *out_ip, netutils_endian
} else if (i > 0 && s < s_top && *s == '.') { } else if (i > 0 && s < s_top && *s == '.') {
s++; s++;
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid arguments")); mp_raise_ValueError("invalid arguments");
} }
} }
} }

View File

@ -142,6 +142,6 @@ NORETURN void mp_arg_error_terse_mismatch(void) {
#if MICROPY_CPYTHON_COMPAT #if MICROPY_CPYTHON_COMPAT
NORETURN void mp_arg_error_unimpl_kw(void) { NORETURN void mp_arg_error_unimpl_kw(void) {
mp_not_implemented("keyword argument(s) not yet implemented - use normal args instead"); mp_raise_NotImplementedError("keyword argument(s) not yet implemented - use normal args instead");
} }
#endif #endif

View File

@ -824,7 +824,7 @@ STATIC void emit_get_stack_pointer_to_reg_for_pop(emit_t *emit, mp_uint_t reg_de
break; break;
default: default:
// not handled // not handled
mp_not_implemented("conversion to object"); mp_raise_NotImplementedError("conversion to object");
} }
} }
@ -2158,7 +2158,7 @@ STATIC void emit_native_call_function(emit_t *emit, mp_uint_t n_positional, mp_u
break; break;
default: default:
// this can happen when casting a cast: int(int) // this can happen when casting a cast: int(int)
mp_not_implemented("casting"); mp_raise_NotImplementedError("casting");
} }
} else { } else {
assert(vtype_fun == VTYPE_PYOBJ); assert(vtype_fun == VTYPE_PYOBJ);
@ -2232,12 +2232,12 @@ STATIC void emit_native_raise_varargs(emit_t *emit, mp_uint_t n_args) {
STATIC void emit_native_yield_value(emit_t *emit) { STATIC void emit_native_yield_value(emit_t *emit) {
// not supported (for now) // not supported (for now)
(void)emit; (void)emit;
mp_not_implemented("native yield"); mp_raise_NotImplementedError("native yield");
} }
STATIC void emit_native_yield_from(emit_t *emit) { STATIC void emit_native_yield_from(emit_t *emit) {
// not supported (for now) // not supported (for now)
(void)emit; (void)emit;
mp_not_implemented("native yield from"); mp_raise_NotImplementedError("native yield from");
} }
STATIC void emit_native_start_except_handler(emit_t *emit) { STATIC void emit_native_start_except_handler(emit_t *emit) {

View File

@ -341,7 +341,7 @@ STATIC void parse_string_literal(mp_lexer_t *lex, bool is_raw) {
// 3MB of text; even gzip-compressed and with minimal structure, it'll take // 3MB of text; even gzip-compressed and with minimal structure, it'll take
// roughly half a meg of storage. This form of Unicode escape may be added // roughly half a meg of storage. This form of Unicode escape may be added
// later on, but it's definitely not a priority right now. -- CJA 20140607 // later on, but it's definitely not a priority right now. -- CJA 20140607
mp_not_implemented("unicode name escapes"); mp_raise_NotImplementedError("unicode name escapes");
break; break;
default: default:
if (c >= '0' && c <= '7') { if (c >= '0' && c <= '7') {

View File

@ -288,7 +288,7 @@ STATIC mp_obj_t array_binary_op(mp_uint_t op, mp_obj_t lhs_in, mp_obj_t rhs_in)
// Otherwise, can only look for a scalar numeric value in an array // Otherwise, can only look for a scalar numeric value in an array
if (MP_OBJ_IS_INT(rhs_in) || mp_obj_is_float(rhs_in)) { if (MP_OBJ_IS_INT(rhs_in) || mp_obj_is_float(rhs_in)) {
mp_not_implemented(""); mp_raise_NotImplementedError("");
} }
return mp_const_false; return mp_const_false;
@ -378,7 +378,7 @@ STATIC mp_obj_t array_subscr(mp_obj_t self_in, mp_obj_t index_in, mp_obj_t value
} else if (MP_OBJ_IS_TYPE(index_in, &mp_type_slice)) { } else if (MP_OBJ_IS_TYPE(index_in, &mp_type_slice)) {
mp_bound_slice_t slice; mp_bound_slice_t slice;
if (!mp_seq_get_fast_slice_indexes(o->len, index_in, &slice)) { if (!mp_seq_get_fast_slice_indexes(o->len, index_in, &slice)) {
mp_not_implemented("only slices with step=1 (aka None) are supported"); mp_raise_NotImplementedError("only slices with step=1 (aka None) are supported");
} }
if (value != MP_OBJ_SENTINEL) { if (value != MP_OBJ_SENTINEL) {
#if MICROPY_PY_ARRAY_SLICE_ASSIGN #if MICROPY_PY_ARRAY_SLICE_ASSIGN
@ -409,7 +409,7 @@ STATIC mp_obj_t array_subscr(mp_obj_t self_in, mp_obj_t index_in, mp_obj_t value
src_len = bufinfo.len; src_len = bufinfo.len;
src_items = bufinfo.buf; src_items = bufinfo.buf;
} else { } else {
mp_not_implemented("array/bytes required on right side"); mp_raise_NotImplementedError("array/bytes required on right side");
} }
// TODO: check src/dst compat // TODO: check src/dst compat

View File

@ -162,7 +162,7 @@ STATIC mp_obj_t list_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
mp_obj_list_t *self = MP_OBJ_TO_PTR(self_in); mp_obj_list_t *self = MP_OBJ_TO_PTR(self_in);
mp_bound_slice_t slice; mp_bound_slice_t slice;
if (!mp_seq_get_fast_slice_indexes(self->len, index, &slice)) { if (!mp_seq_get_fast_slice_indexes(self->len, index, &slice)) {
mp_not_implemented(""); mp_raise_NotImplementedError("");
} }
mp_int_t len_adj = slice.start - slice.stop; mp_int_t len_adj = slice.start - slice.stop;
@ -202,7 +202,7 @@ STATIC mp_obj_t list_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
mp_obj_get_array(value, &value_len, &value_items); mp_obj_get_array(value, &value_len, &value_items);
mp_bound_slice_t slice_out; mp_bound_slice_t slice_out;
if (!mp_seq_get_fast_slice_indexes(self->len, index, &slice_out)) { if (!mp_seq_get_fast_slice_indexes(self->len, index, &slice_out)) {
mp_not_implemented(""); mp_raise_NotImplementedError("");
} }
mp_int_t len_adj = value_len - (slice_out.stop - slice_out.start); mp_int_t len_adj = value_len - (slice_out.stop - slice_out.start);
//printf("Len adj: %d\n", len_adj); //printf("Len adj: %d\n", len_adj);

View File

@ -404,7 +404,7 @@ STATIC mp_obj_t bytes_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) { if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) {
mp_bound_slice_t slice; mp_bound_slice_t slice;
if (!mp_seq_get_fast_slice_indexes(self_len, index, &slice)) { if (!mp_seq_get_fast_slice_indexes(self_len, index, &slice)) {
mp_not_implemented("only slices with step=1 (aka None) are supported"); mp_raise_NotImplementedError("only slices with step=1 (aka None) are supported");
} }
return mp_obj_new_str_of_type(type, self_data + slice.start, slice.stop - slice.start); return mp_obj_new_str_of_type(type, self_data + slice.start, slice.stop - slice.start);
} }
@ -618,7 +618,7 @@ STATIC mp_obj_t str_rsplit(size_t n_args, const mp_obj_t *args) {
mp_int_t idx = splits; mp_int_t idx = splits;
if (sep == mp_const_none) { if (sep == mp_const_none) {
mp_not_implemented("rsplit(None,n)"); mp_raise_NotImplementedError("rsplit(None,n)");
} else { } else {
size_t sep_len; size_t sep_len;
const char *sep_str = mp_obj_str_get_data(sep, &sep_len); const char *sep_str = mp_obj_str_get_data(sep, &sep_len);
@ -742,7 +742,7 @@ STATIC mp_obj_t str_endswith(size_t n_args, const mp_obj_t *args) {
GET_STR_DATA_LEN(args[0], str, str_len); GET_STR_DATA_LEN(args[0], str, str_len);
GET_STR_DATA_LEN(args[1], suffix, suffix_len); GET_STR_DATA_LEN(args[1], suffix, suffix_len);
if (n_args > 2) { if (n_args > 2) {
mp_not_implemented("start/end indices"); mp_raise_NotImplementedError("start/end indices");
} }
if (suffix_len > str_len) { if (suffix_len > str_len) {
@ -1044,7 +1044,7 @@ STATIC vstr_t mp_obj_str_format_helper(const char *str, const char *top, int *ar
arg = key_elem->value; arg = key_elem->value;
} }
if (field_name < field_name_top) { if (field_name < field_name_top) {
mp_not_implemented("attributes not supported yet"); mp_raise_NotImplementedError("attributes not supported yet");
} }
} else { } else {
if (*arg_i < 0) { if (*arg_i < 0) {

View File

@ -188,7 +188,7 @@ STATIC mp_obj_t str_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
mp_obj_t ostart, ostop, ostep; mp_obj_t ostart, ostop, ostep;
mp_obj_slice_get(index, &ostart, &ostop, &ostep); mp_obj_slice_get(index, &ostart, &ostop, &ostep);
if (ostep != mp_const_none && ostep != MP_OBJ_NEW_SMALL_INT(1)) { if (ostep != mp_const_none && ostep != MP_OBJ_NEW_SMALL_INT(1)) {
mp_not_implemented("only slices with step=1 (aka None) are supported"); mp_raise_NotImplementedError("only slices with step=1 (aka None) are supported");
} }
const byte *pstart, *pstop; const byte *pstart, *pstop;

View File

@ -181,7 +181,7 @@ mp_obj_t mp_obj_tuple_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) { if (MP_OBJ_IS_TYPE(index, &mp_type_slice)) {
mp_bound_slice_t slice; mp_bound_slice_t slice;
if (!mp_seq_get_fast_slice_indexes(self->len, index, &slice)) { if (!mp_seq_get_fast_slice_indexes(self->len, index, &slice)) {
mp_not_implemented("only slices with step=1 (aka None) are supported"); mp_raise_NotImplementedError("only slices with step=1 (aka None) are supported");
} }
mp_obj_tuple_t *res = MP_OBJ_TO_PTR(mp_obj_new_tuple(slice.stop - slice.start, NULL)); mp_obj_tuple_t *res = MP_OBJ_TO_PTR(mp_obj_new_tuple(slice.stop - slice.start, NULL));
mp_seq_copy(res->items, self->items + slice.start, res->len, mp_obj_t); mp_seq_copy(res->items, self->items + slice.start, res->len, mp_obj_t);

View File

@ -1439,6 +1439,6 @@ NORETURN void mp_raise_OSError(int errno_) {
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(errno_))); nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, MP_OBJ_NEW_SMALL_INT(errno_)));
} }
NORETURN void mp_not_implemented(const char *msg) { NORETURN void mp_raise_NotImplementedError(const char *msg) {
mp_raise_msg(&mp_type_NotImplementedError, msg); mp_raise_msg(&mp_type_NotImplementedError, msg);
} }

View File

@ -149,8 +149,8 @@ NORETURN void mp_raise_msg(const mp_obj_type_t *exc_type, const char *msg);
//NORETURN void nlr_raise_msg_varg(const mp_obj_type_t *exc_type, const char *fmt, ...); //NORETURN void nlr_raise_msg_varg(const mp_obj_type_t *exc_type, const char *fmt, ...);
NORETURN void mp_raise_ValueError(const char *msg); NORETURN void mp_raise_ValueError(const char *msg);
NORETURN void mp_raise_TypeError(const char *msg); NORETURN void mp_raise_TypeError(const char *msg);
NORETURN void mp_raise_NotImplementedError(const char *msg);
NORETURN void mp_raise_OSError(int errno_); NORETURN void mp_raise_OSError(int errno_);
NORETURN void mp_not_implemented(const char *msg); // Raise NotImplementedError with given message
NORETURN void mp_exc_recursion_depth(void); NORETURN void mp_exc_recursion_depth(void);
#if MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG #if MICROPY_BUILTIN_METHOD_CHECK_SELF_ARG

View File

@ -119,7 +119,7 @@ STATIC uint32_t TIMx_Config(mp_obj_t timer) {
return DAC_TRIGGER_T8_TRGO; return DAC_TRIGGER_T8_TRGO;
#endif #endif
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Timer does not support DAC triggering")); mp_raise_ValueError("Timer does not support DAC triggering");
} }
} }

View File

@ -670,7 +670,7 @@ STATIC mp_obj_t pyb_i2c_is_ready(mp_obj_t self_in, mp_obj_t i2c_addr_o) {
pyb_i2c_obj_t *self = self_in; pyb_i2c_obj_t *self = self_in;
if (!in_master_mode(self)) { if (!in_master_mode(self)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "I2C must be a master")); mp_raise_TypeError("I2C must be a master");
} }
mp_uint_t i2c_addr = mp_obj_get_int(i2c_addr_o) << 1; mp_uint_t i2c_addr = mp_obj_get_int(i2c_addr_o) << 1;
@ -693,7 +693,7 @@ STATIC mp_obj_t pyb_i2c_scan(mp_obj_t self_in) {
pyb_i2c_obj_t *self = self_in; pyb_i2c_obj_t *self = self_in;
if (!in_master_mode(self)) { if (!in_master_mode(self)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "I2C must be a master")); mp_raise_TypeError("I2C must be a master");
} }
mp_obj_t list = mp_obj_new_list(0, NULL); mp_obj_t list = mp_obj_new_list(0, NULL);
@ -754,7 +754,7 @@ STATIC mp_obj_t pyb_i2c_send(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_
if (use_dma) { if (use_dma) {
dma_deinit(self->tx_dma_descr); dma_deinit(self->tx_dma_descr);
} }
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "addr argument required")); mp_raise_TypeError("addr argument required");
} }
mp_uint_t i2c_addr = args[1].u_int << 1; mp_uint_t i2c_addr = args[1].u_int << 1;
if (!use_dma) { if (!use_dma) {
@ -830,7 +830,7 @@ STATIC mp_obj_t pyb_i2c_recv(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_
HAL_StatusTypeDef status; HAL_StatusTypeDef status;
if (in_master_mode(self)) { if (in_master_mode(self)) {
if (args[1].u_int == PYB_I2C_MASTER_ADDRESS) { if (args[1].u_int == PYB_I2C_MASTER_ADDRESS) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "addr argument required")); mp_raise_TypeError("addr argument required");
} }
mp_uint_t i2c_addr = args[1].u_int << 1; mp_uint_t i2c_addr = args[1].u_int << 1;
if (!use_dma) { if (!use_dma) {
@ -897,7 +897,7 @@ STATIC mp_obj_t pyb_i2c_mem_read(mp_uint_t n_args, const mp_obj_t *pos_args, mp_
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(pyb_i2c_mem_read_allowed_args), pyb_i2c_mem_read_allowed_args, args); mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(pyb_i2c_mem_read_allowed_args), pyb_i2c_mem_read_allowed_args, args);
if (!in_master_mode(self)) { if (!in_master_mode(self)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "I2C must be a master")); mp_raise_TypeError("I2C must be a master");
} }
// get the buffer to read into // get the buffer to read into
@ -965,7 +965,7 @@ STATIC mp_obj_t pyb_i2c_mem_write(mp_uint_t n_args, const mp_obj_t *pos_args, mp
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(pyb_i2c_mem_read_allowed_args), pyb_i2c_mem_read_allowed_args, args); mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(pyb_i2c_mem_read_allowed_args), pyb_i2c_mem_read_allowed_args, args);
if (!in_master_mode(self)) { if (!in_master_mode(self)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "I2C must be a master")); mp_raise_TypeError("I2C must be a master");
} }
// get the buffer to write from // get the buffer to write from

View File

@ -258,7 +258,7 @@ STATIC mp_obj_t machine_freq(mp_uint_t n_args, const mp_obj_t *args) {
mp_int_t wanted_sysclk = mp_obj_get_int(args[0]) / 1000000; mp_int_t wanted_sysclk = mp_obj_get_int(args[0]) / 1000000;
#if defined(MCU_SERIES_L4) #if defined(MCU_SERIES_L4)
nlr_raise(mp_obj_new_exception_msg(&mp_type_NotImplementedError, "machine.freq set not supported yet")); mp_raise_NotImplementedError("machine.freq set not supported yet");
#endif #endif
// default PLL parameters that give 48MHz on PLL48CK // default PLL parameters that give 48MHz on PLL48CK
@ -318,7 +318,7 @@ STATIC mp_obj_t machine_freq(mp_uint_t n_args, const mp_obj_t *args) {
goto set_clk; goto set_clk;
} }
} }
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "can't make valid freq")); mp_raise_ValueError("can't make valid freq");
} }
set_clk: set_clk:

View File

@ -121,7 +121,7 @@ STATIC mp_obj_t os_dupterm(mp_uint_t n_args, const mp_obj_t *args) {
} else if (mp_obj_get_type(args[0]) == &pyb_uart_type) { } else if (mp_obj_get_type(args[0]) == &pyb_uart_type) {
MP_STATE_PORT(pyb_stdio_uart) = args[0]; MP_STATE_PORT(pyb_stdio_uart) = args[0];
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "need a UART object")); mp_raise_ValueError("need a UART object");
} }
return mp_const_none; return mp_const_none;
} }

View File

@ -120,7 +120,7 @@ const pin_obj_t *pin_find(mp_obj_t user_obj) {
pin_obj = mp_call_function_1(MP_STATE_PORT(pin_class_mapper), user_obj); pin_obj = mp_call_function_1(MP_STATE_PORT(pin_class_mapper), user_obj);
if (pin_obj != mp_const_none) { if (pin_obj != mp_const_none) {
if (!MP_OBJ_IS_TYPE(pin_obj, &pin_type)) { if (!MP_OBJ_IS_TYPE(pin_obj, &pin_type)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "Pin.mapper didn't return a Pin object")); mp_raise_ValueError("Pin.mapper didn't return a Pin object");
} }
if (pin_class_debug) { if (pin_class_debug) {
printf("Pin.mapper maps "); printf("Pin.mapper maps ");

View File

@ -575,7 +575,7 @@ mp_obj_t pyb_rtc_wakeup(mp_uint_t n_args, const mp_obj_t *args) {
wut -= 0x10000; wut -= 0x10000;
if (wut > 0x10000) { if (wut > 0x10000) {
// wut still too large // wut still too large
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "wakeup value too large")); mp_raise_ValueError("wakeup value too large");
} }
} }
} }
@ -685,12 +685,10 @@ mp_obj_t pyb_rtc_calibration(mp_uint_t n_args, const mp_obj_t *args) {
} }
return mp_obj_new_int(cal & 1); return mp_obj_new_int(cal & 1);
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, mp_raise_ValueError("calibration value out of range");
"calibration value out of range"));
} }
#else #else
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, mp_raise_ValueError("calibration value out of range");
"calibration value out of range"));
#endif #endif
} }
if (cal > 0) { if (cal > 0) {

View File

@ -765,7 +765,7 @@ STATIC mp_obj_t pyb_spi_send_recv(mp_uint_t n_args, const mp_obj_t *pos_args, mp
// recv argument given // recv argument given
mp_get_buffer_raise(args[1].u_obj, &bufinfo_recv, MP_BUFFER_WRITE); mp_get_buffer_raise(args[1].u_obj, &bufinfo_recv, MP_BUFFER_WRITE);
if (bufinfo_recv.len != bufinfo_send.len) { if (bufinfo_recv.len != bufinfo_send.len) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "recv must be same length as send")); mp_raise_ValueError("recv must be same length as send");
} }
o_ret = args[1].u_obj; o_ret = args[1].u_obj;
} }

View File

@ -278,7 +278,7 @@ STATIC uint32_t compute_prescaler_period_from_freq(pyb_timer_obj_t *self, mp_obj
if (freq <= 0) { if (freq <= 0) {
goto bad_freq; goto bad_freq;
bad_freq: bad_freq:
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "must have positive freq")); mp_raise_ValueError("must have positive freq");
} }
period = source_freq / freq; period = source_freq / freq;
} }
@ -429,7 +429,7 @@ STATIC void config_deadtime(pyb_timer_obj_t *self, mp_int_t ticks) {
TIM_HandleTypeDef *pyb_timer_get_handle(mp_obj_t timer) { TIM_HandleTypeDef *pyb_timer_get_handle(mp_obj_t timer) {
if (mp_obj_get_type(timer) != &pyb_timer_type) { if (mp_obj_get_type(timer) != &pyb_timer_type) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "need a Timer object")); mp_raise_ValueError("need a Timer object");
} }
pyb_timer_obj_t *self = timer; pyb_timer_obj_t *self = timer;
return &self->tim; return &self->tim;
@ -541,7 +541,7 @@ STATIC mp_obj_t pyb_timer_init_helper(pyb_timer_obj_t *self, mp_uint_t n_args, c
init->Prescaler = args[1].u_int; init->Prescaler = args[1].u_int;
init->Period = args[2].u_int; init->Period = args[2].u_int;
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "must specify either freq, or prescaler and period")); mp_raise_TypeError("must specify either freq, or prescaler and period");
} }
init->CounterMode = args[3].u_int; init->CounterMode = args[3].u_int;
@ -891,7 +891,7 @@ STATIC mp_obj_t pyb_timer_channel(mp_uint_t n_args, const mp_obj_t *pos_args, mp
mp_obj_t pin_obj = args[2].u_obj; mp_obj_t pin_obj = args[2].u_obj;
if (pin_obj != mp_const_none) { if (pin_obj != mp_const_none) {
if (!MP_OBJ_IS_TYPE(pin_obj, &pin_type)) { if (!MP_OBJ_IS_TYPE(pin_obj, &pin_type)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "pin argument needs to be be a Pin type")); mp_raise_ValueError("pin argument needs to be be a Pin type");
} }
const pin_obj_t *pin = pin_obj; const pin_obj_t *pin = pin_obj;
const pin_af_obj_t *af = pin_find_af(pin, AF_FN_TIM, self->tim_id); const pin_af_obj_t *af = pin_find_af(pin, AF_FN_TIM, self->tim_id);
@ -1174,7 +1174,7 @@ STATIC mp_obj_t pyb_timer_callback(mp_obj_t self_in, mp_obj_t callback) {
HAL_TIM_Base_Start_IT(&self->tim); // This will re-enable the IRQ HAL_TIM_Base_Start_IT(&self->tim); // This will re-enable the IRQ
HAL_NVIC_EnableIRQ(self->irqn); HAL_NVIC_EnableIRQ(self->irqn);
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "callback must be None or a callable object")); mp_raise_ValueError("callback must be None or a callable object");
} }
return mp_const_none; return mp_const_none;
} }
@ -1331,7 +1331,7 @@ STATIC mp_obj_t pyb_timer_channel_callback(mp_obj_t self_in, mp_obj_t callback)
break; break;
} }
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "callback must be None or a callable object")); mp_raise_ValueError("callback must be None or a callable object");
} }
return mp_const_none; return mp_const_none;
} }

View File

@ -319,7 +319,7 @@ STATIC mp_obj_t pyb_usb_mode(mp_uint_t n_args, const mp_obj_t *pos_args, mp_map_
return mp_const_none; return mp_const_none;
bad_mode: bad_mode:
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "bad USB mode")); mp_raise_ValueError("bad USB mode");
} }
MP_DEFINE_CONST_FUN_OBJ_KW(pyb_usb_mode_obj, 0, pyb_usb_mode); MP_DEFINE_CONST_FUN_OBJ_KW(pyb_usb_mode_obj, 0, pyb_usb_mode);
@ -590,7 +590,7 @@ STATIC mp_obj_t pyb_usb_hid_send(mp_obj_t self_in, mp_obj_t report_in) {
mp_obj_t *items; mp_obj_t *items;
mp_obj_get_array(report_in, &bufinfo.len, &items); mp_obj_get_array(report_in, &bufinfo.len, &items);
if (bufinfo.len > sizeof(temp_buf)) { if (bufinfo.len > sizeof(temp_buf)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "tuple/list too large for HID report; use bytearray instead")); mp_raise_ValueError("tuple/list too large for HID report; use bytearray instead");
} }
for (int i = 0; i < bufinfo.len; i++) { for (int i = 0; i < bufinfo.len; i++) {
temp_buf[i] = mp_obj_get_int(items[i]); temp_buf[i] = mp_obj_get_int(items[i]);

View File

@ -217,7 +217,7 @@ mp_obj_t pyb_Servo(void) {
self->servo_id++; self->servo_id++;
} }
m_del_obj(pyb_servo_obj_t, self); m_del_obj(pyb_servo_obj_t, self);
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "No available servo ids")); mp_raise_ValueError("No available servo ids");
return mp_const_none; return mp_const_none;
} }

View File

@ -61,5 +61,5 @@ void mp_hal_gpio_clock_enable(GPIO_TypeDef *gpio) {
} }
void extint_register_pin(const void *pin, uint32_t mode, int hard_irq, mp_obj_t callback_obj) { void extint_register_pin(const void *pin, uint32_t mode, int hard_irq, mp_obj_t callback_obj) {
mp_not_implemented(NULL); mp_raise_NotImplementedError(NULL);
} }

View File

@ -255,7 +255,7 @@ STATIC mp_obj_t pyb_timer_init_helper(pyb_timer_obj_t *self, uint n_args, const
// set prescaler and period from frequency // set prescaler and period from frequency
if (vals[0].u_int == 0) { if (vals[0].u_int == 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "can't have 0 frequency")); mp_raise_ValueError("can't have 0 frequency");
} }
uint32_t period = MAX(1, F_BUS / vals[0].u_int); uint32_t period = MAX(1, F_BUS / vals[0].u_int);
@ -277,7 +277,7 @@ STATIC mp_obj_t pyb_timer_init_helper(pyb_timer_obj_t *self, uint n_args, const
nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_TypeError, "period must be between 0 and 65535, not %d", init->Period)); nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_TypeError, "period must be between 0 and 65535, not %d", init->Period));
} }
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "must specify either freq, or prescaler and period")); mp_raise_TypeError("must specify either freq, or prescaler and period");
} }
init->CounterMode = vals[3].u_int; init->CounterMode = vals[3].u_int;
@ -498,7 +498,7 @@ STATIC mp_obj_t pyb_timer_channel(mp_uint_t n_args, const mp_obj_t *args, mp_map
mp_obj_t pin_obj = vals[1].u_obj; mp_obj_t pin_obj = vals[1].u_obj;
if (pin_obj != mp_const_none) { if (pin_obj != mp_const_none) {
if (!MP_OBJ_IS_TYPE(pin_obj, &pin_type)) { if (!MP_OBJ_IS_TYPE(pin_obj, &pin_type)) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "pin argument needs to be be a Pin type")); mp_raise_ValueError("pin argument needs to be be a Pin type");
} }
const pin_obj_t *pin = pin_obj; const pin_obj_t *pin = pin_obj;
const pin_af_obj_t *af = pin_find_af(pin, AF_FN_FTM, self->tim_id); const pin_af_obj_t *af = pin_find_af(pin, AF_FN_FTM, self->tim_id);
@ -668,7 +668,7 @@ STATIC mp_obj_t pyb_timer_callback(mp_obj_t self_in, mp_obj_t callback) {
// start timer, so that it interrupts on overflow // start timer, so that it interrupts on overflow
HAL_FTM_Base_Start_IT(&self->ftm); HAL_FTM_Base_Start_IT(&self->ftm);
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "callback must be None or a callable object")); mp_raise_ValueError("callback must be None or a callable object");
} }
return mp_const_none; return mp_const_none;
} }
@ -846,7 +846,7 @@ STATIC mp_obj_t pyb_timer_channel_callback(mp_obj_t self_in, mp_obj_t callback)
break; break;
} }
} else { } else {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "callback must be None or a callable object")); mp_raise_ValueError("callback must be None or a callable object");
} }
return mp_const_none; return mp_const_none;
} }

View File

@ -47,7 +47,7 @@
#ifdef MICROPY_CPYTHON_COMPAT #ifdef MICROPY_CPYTHON_COMPAT
STATIC void check_fd_is_open(const mp_obj_fdfile_t *o) { STATIC void check_fd_is_open(const mp_obj_fdfile_t *o) {
if (o->fd < 0) { if (o->fd < 0) {
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "I/O operation on closed file")); mp_raise_ValueError("I/O operation on closed file");
} }
} }
#else #else

View File

@ -409,7 +409,7 @@ STATIC mp_obj_t ffifunc_call(mp_obj_t self_in, size_t n_args, size_t n_kw, const
} }
error: error:
nlr_raise(mp_obj_new_exception_msg(&mp_type_TypeError, "Don't know how to pass object to native function")); mp_raise_TypeError("Don't know how to pass object to native function");
} }
STATIC const mp_obj_type_t ffifunc_type = { STATIC const mp_obj_type_t ffifunc_type = {

View File

@ -268,7 +268,7 @@ STATIC mp_obj_t jobject_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value)
return mp_const_none; return mp_const_none;
} }
} }
mp_not_implemented(""); mp_raise_NotImplementedError("");
} }
if (!JJ(IsInstanceOf, self->obj, List_class)) { if (!JJ(IsInstanceOf, self->obj, List_class)) {