You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
516 B
20 lines
516 B
#include <errno.h>
|
|
|
|
#include "mpconfig.h"
|
|
#include "nlr.h"
|
|
#include "misc.h"
|
|
#include "qstr.h"
|
|
#include "obj.h"
|
|
#include "mphal.h"
|
|
|
|
// this table converts from HAL_StatusTypeDef to POSIX errno
|
|
const byte mp_hal_status_to_errno_table[4] = {
|
|
[HAL_OK] = 0,
|
|
[HAL_ERROR] = EIO,
|
|
[HAL_BUSY] = EBUSY,
|
|
[HAL_TIMEOUT] = ETIMEDOUT,
|
|
};
|
|
|
|
NORETURN void mp_hal_raise(HAL_StatusTypeDef status) {
|
|
nlr_raise(mp_obj_new_exception_arg1(&mp_type_OSError, (mp_obj_t)(mp_uint_t)mp_hal_status_to_errno_table[status]));
|
|
}
|
|
|