summaryrefslogtreecommitdiff
path: root/shared-bindings
diff options
context:
space:
mode:
authorDavePutz <dwputz@gmail.com>2021-01-21 16:07:24 -0600
committerGitHub <noreply@github.com>2021-01-21 16:07:24 -0600
commit6043fdf94085bf2ec00e9f95149a74fb7eb0c7c4 (patch)
tree49fb85346b3ce60a08ad7780b8aec7fd0f72366f /shared-bindings
parente424c8424936ded83803b098229d0787903f9f92 (diff)
parent2249a33203339803c8a0b23e80eec15d77b7f23e (diff)
Merge pull request #39 from adafruit/main
Merge from adafruit main for RP2040
Diffstat (limited to 'shared-bindings')
-rw-r--r--shared-bindings/microcontroller/Pin.c8
-rw-r--r--shared-bindings/microcontroller/__init__.h7
-rw-r--r--shared-bindings/wifi/Radio.c4
-rw-r--r--shared-bindings/wifi/Radio.h37
4 files changed, 46 insertions, 10 deletions
diff --git a/shared-bindings/microcontroller/Pin.c b/shared-bindings/microcontroller/Pin.c
index 6ba02a0e7..2a97b54b3 100644
--- a/shared-bindings/microcontroller/Pin.c
+++ b/shared-bindings/microcontroller/Pin.c
@@ -66,12 +66,12 @@ static void get_pin_name(const mcu_pin_obj_t *self, qstr* package, qstr* module,
STATIC void mcu_pin_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t kind) {
mcu_pin_obj_t *self = MP_OBJ_TO_PTR(self_in);
- qstr package;
+ qstr package = MP_QSTR_Pin;
qstr module;
- qstr name;
+ qstr name = MP_QSTR_Pin;
get_pin_name(self, &package, &module, &name);
- if (package){
+ if (package) {
mp_printf(print, "%q.%q.%q", package, module, name);
} else {
mp_printf(print, "%q.%q", module , name);
@@ -131,7 +131,7 @@ void assert_pin_free(const mcu_pin_obj_t* pin) {
if (pin != NULL && pin != MP_OBJ_TO_PTR(mp_const_none) && !common_hal_mcu_pin_is_free(pin)) {
qstr package;
qstr module;
- qstr name;
+ qstr name = MP_QSTR_Pin;
get_pin_name(pin, &package, &module, &name);
mp_raise_ValueError_varg(translate("%q in use"), name);
diff --git a/shared-bindings/microcontroller/__init__.h b/shared-bindings/microcontroller/__init__.h
index 0dafc74c7..39d3e718b 100644
--- a/shared-bindings/microcontroller/__init__.h
+++ b/shared-bindings/microcontroller/__init__.h
@@ -29,6 +29,7 @@
#include "py/obj.h"
#include "py/mpconfig.h"
+#include "py/objtuple.h"
#include "common-hal/microcontroller/Processor.h"
#include "shared-bindings/microcontroller/ResetReason.h"
@@ -44,7 +45,13 @@ extern void common_hal_mcu_reset(void);
extern const mp_obj_dict_t mcu_pin_globals;
+#if CIRCUITPY_PROCESSOR_COUNT == 1
extern const mcu_processor_obj_t common_hal_mcu_processor_obj;
+#elif CIRCUITPY_PROCESSOR_COUNT > 1
+extern const mp_rom_obj_tuple_t common_hal_mcu_processor_obj;
+#else
+#error "Invalid processor count"
+#endif
#if CIRCUITPY_INTERNAL_NVM_SIZE > 0
diff --git a/shared-bindings/wifi/Radio.c b/shared-bindings/wifi/Radio.c
index 63f507067..8181fc4c9 100644
--- a/shared-bindings/wifi/Radio.c
+++ b/shared-bindings/wifi/Radio.c
@@ -218,12 +218,12 @@ STATIC mp_obj_t wifi_radio_connect(size_t n_args, const mp_obj_t *pos_args, mp_m
}
wifi_radio_error_t error = common_hal_wifi_radio_connect(self, ssid.buf, ssid.len, password.buf, password.len, args[ARG_channel].u_int, timeout, bssid.buf, bssid.len);
- if (error == WIFI_RADIO_ERROR_AUTH) {
+ if (error == WIFI_RADIO_ERROR_AUTH_FAIL) {
mp_raise_ConnectionError(translate("Authentication failure"));
} else if (error == WIFI_RADIO_ERROR_NO_AP_FOUND) {
mp_raise_ConnectionError(translate("No network with that ssid"));
} else if (error != WIFI_RADIO_ERROR_NONE) {
- mp_raise_ConnectionError(translate("Unknown failure"));
+ mp_raise_msg_varg(&mp_type_ConnectionError, translate("Unknown failure %d"), error);
}
return mp_const_none;
diff --git a/shared-bindings/wifi/Radio.h b/shared-bindings/wifi/Radio.h
index 1e8f362e3..64c1052f7 100644
--- a/shared-bindings/wifi/Radio.h
+++ b/shared-bindings/wifi/Radio.h
@@ -36,10 +36,39 @@
const mp_obj_type_t wifi_radio_type;
typedef enum {
- WIFI_RADIO_ERROR_NONE,
- WIFI_RADIO_ERROR_UNKNOWN,
- WIFI_RADIO_ERROR_AUTH,
- WIFI_RADIO_ERROR_NO_AP_FOUND
+ // 0 is circuitpython-specific; 1-53 are IEEE; 200+ are Espressif
+ WIFI_RADIO_ERROR_NONE = 0,
+ WIFI_RADIO_ERROR_UNSPECIFIED = 1,
+ WIFI_RADIO_ERROR_AUTH_EXPIRE = 2,
+ WIFI_RADIO_ERROR_AUTH_LEAVE = 3,
+ WIFI_RADIO_ERROR_ASSOC_EXPIRE = 4,
+ WIFI_RADIO_ERROR_ASSOC_TOOMANY = 5,
+ WIFI_RADIO_ERROR_NOT_AUTHED = 6,
+ WIFI_RADIO_ERROR_NOT_ASSOCED = 7,
+ WIFI_RADIO_ERROR_ASSOC_LEAVE = 8,
+ WIFI_RADIO_ERROR_ASSOC_NOT_AUTHED = 9,
+ WIFI_RADIO_ERROR_DISASSOC_PWRCAP_BAD = 10,
+ WIFI_RADIO_ERROR_DISASSOC_SUPCHAN_BAD = 11,
+ WIFI_RADIO_ERROR_IE_INVALID = 13,
+ WIFI_RADIO_ERROR_MIC_FAILURE = 14,
+ WIFI_RADIO_ERROR_4WAY_HANDSHAKE_TIMEOUT = 15,
+ WIFI_RADIO_ERROR_GROUP_KEY_UPDATE_TIMEOUT = 16,
+ WIFI_RADIO_ERROR_IE_IN_4WAY_DIFFERS = 17,
+ WIFI_RADIO_ERROR_GROUP_CIPHER_INVALID = 18,
+ WIFI_RADIO_ERROR_PAIRWISE_CIPHER_INVALID = 19,
+ WIFI_RADIO_ERROR_AKMP_INVALID = 20,
+ WIFI_RADIO_ERROR_UNSUPP_RSN_IE_VERSION = 21,
+ WIFI_RADIO_ERROR_INVALID_RSN_IE_CAP = 22,
+ WIFI_RADIO_ERROR_802_1X_AUTH_FAILED = 23,
+ WIFI_RADIO_ERROR_CIPHER_SUITE_REJECTED = 24,
+ WIFI_RADIO_ERROR_INVALID_PMKID = 53,
+ WIFI_RADIO_ERROR_BEACON_TIMEOUT = 200,
+ WIFI_RADIO_ERROR_NO_AP_FOUND = 201,
+ WIFI_RADIO_ERROR_AUTH_FAIL = 202,
+ WIFI_RADIO_ERROR_ASSOC_FAIL = 203,
+ WIFI_RADIO_ERROR_HANDSHAKE_TIMEOUT = 204,
+ WIFI_RADIO_ERROR_CONNECTION_FAIL = 205,
+ WIFI_RADIO_ERROR_AP_TSF_RESET = 206,
} wifi_radio_error_t;
extern bool common_hal_wifi_radio_get_enabled(wifi_radio_obj_t *self);