kopia lustrzana https://github.com/pimoroni/pimoroni-pico
Finished micropython bindings for current C++ class implementation
rodzic
d1b3e4d768
commit
971ac565dd
|
@ -579,20 +579,20 @@ namespace pimoroni {
|
|||
return network_rssi;
|
||||
}
|
||||
|
||||
uint8_t Esp32Spi::req_host_by_name(const char* hostname) {
|
||||
bool Esp32Spi::req_host_by_name(const std::string hostname) {
|
||||
driver.wait_for_esp_select();
|
||||
|
||||
// Send Command
|
||||
driver.send_cmd(REQ_HOST_BY_NAME, SpiDrv::PARAM_NUMS_1);
|
||||
driver.send_param((uint8_t*)hostname, strlen(hostname), SpiDrv::LAST_PARAM);
|
||||
driver.pad_to_multiple_of_4(5 + strlen(hostname));
|
||||
driver.send_param((uint8_t*)hostname.data(), hostname.length(), SpiDrv::LAST_PARAM);
|
||||
driver.pad_to_multiple_of_4(5 + hostname.length());
|
||||
|
||||
driver.esp_deselect();
|
||||
driver.wait_for_esp_select();
|
||||
|
||||
// Wait for reply
|
||||
uint8_t data = 0, data_len = 0;
|
||||
uint8_t result = driver.wait_response_cmd(REQ_HOST_BY_NAME, SpiDrv::PARAM_NUMS_1, &data, &data_len);
|
||||
bool result = driver.wait_response_cmd(REQ_HOST_BY_NAME, SpiDrv::PARAM_NUMS_1, &data, &data_len);
|
||||
driver.esp_deselect();
|
||||
|
||||
if(result) {
|
||||
|
@ -602,9 +602,9 @@ namespace pimoroni {
|
|||
return result;
|
||||
}
|
||||
|
||||
int Esp32Spi::get_host_by_name(IPAddress& ip_out) {
|
||||
bool Esp32Spi::get_host_by_name(IPAddress& ip_out) {
|
||||
IPAddress dummy(0xFF,0xFF,0xFF,0xFF);
|
||||
int result = 0;
|
||||
bool result = false;
|
||||
|
||||
driver.wait_for_esp_select();
|
||||
|
||||
|
@ -629,12 +629,12 @@ namespace pimoroni {
|
|||
return result;
|
||||
}
|
||||
|
||||
int Esp32Spi::get_host_by_name(const char* hostname, IPAddress& ip_out) {
|
||||
bool Esp32Spi::get_host_by_name(const std::string hostname, IPAddress& ip_out) {
|
||||
if(req_host_by_name(hostname)) {
|
||||
return get_host_by_name(ip_out);
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@ namespace pimoroni {
|
|||
uint8_t subnet_mask[WL_IPV4_LENGTH];
|
||||
uint8_t gateway_ip[WL_IPV4_LENGTH];
|
||||
public:
|
||||
//PicoWireless();
|
||||
//Esp32Spi();
|
||||
|
||||
|
||||
//--------------------------------------------------
|
||||
|
@ -164,9 +164,9 @@ namespace pimoroni {
|
|||
uint8_t get_channel_networks(uint8_t network_item);
|
||||
int32_t get_rssi_networks(uint8_t network_item);
|
||||
|
||||
uint8_t req_host_by_name(const char* hostname);
|
||||
int get_host_by_name(IPAddress& ip_out);
|
||||
int get_host_by_name(const char* hostname, IPAddress& ip_out);
|
||||
bool req_host_by_name(const std::string hostname);
|
||||
bool get_host_by_name(IPAddress& ip_out);
|
||||
bool get_host_by_name(const std::string hostname, IPAddress& ip_out);
|
||||
|
||||
const char* get_fw_version();
|
||||
uint32_t get_time();
|
||||
|
|
|
@ -6,12 +6,6 @@ namespace pimoroni {
|
|||
addr.dword = 0;
|
||||
}
|
||||
|
||||
std::string IPAddress::to_string() {
|
||||
char buf[16] = {0};
|
||||
snprintf(buf, 16, "%d.%d.%d.%d", addr.bytes[0], addr.bytes[1], addr.bytes[2], addr.bytes[3]);
|
||||
return std::string(buf, 16);
|
||||
}
|
||||
|
||||
IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet) {
|
||||
addr.bytes[0] = first_octet;
|
||||
addr.bytes[1] = second_octet;
|
||||
|
@ -54,4 +48,15 @@ namespace pimoroni {
|
|||
IPAddress::operator uint32_t() const {
|
||||
return addr.dword;
|
||||
}
|
||||
|
||||
std::string IPAddress::to_string() const {
|
||||
char buf[16] = {0};
|
||||
snprintf(buf, 16, "%d.%d.%d.%d", addr.bytes[0], addr.bytes[1], addr.bytes[2], addr.bytes[3]);
|
||||
return std::string(buf, 16);
|
||||
}
|
||||
|
||||
const uint8_t* IPAddress::to_bytes() const {
|
||||
return addr.bytes;
|
||||
}
|
||||
|
||||
}
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "pico/stdlib.h"
|
||||
#include <string>
|
||||
#include "spi_drv.hpp"
|
||||
|
||||
namespace pimoroni {
|
||||
|
||||
|
@ -11,7 +12,7 @@ namespace pimoroni {
|
|||
//--------------------------------------------------
|
||||
private:
|
||||
union {
|
||||
uint8_t bytes[4];
|
||||
uint8_t bytes[WL_IPV4_LENGTH];
|
||||
uint32_t dword;
|
||||
} addr;
|
||||
|
||||
|
@ -36,7 +37,8 @@ namespace pimoroni {
|
|||
uint8_t& operator[](int index);
|
||||
IPAddress& operator=(uint32_t address);
|
||||
operator uint32_t() const;
|
||||
std::string to_string();
|
||||
std::string to_string() const;
|
||||
const uint8_t* to_bytes() const;
|
||||
};
|
||||
|
||||
}
|
|
@ -12,7 +12,7 @@
|
|||
#define WL_WEP_KEY_MAX_LENGTH 13
|
||||
// Size of a MAC-address or BSSID
|
||||
#define WL_MAC_ADDR_LENGTH 6
|
||||
// Size of a MAC-address or BSSID
|
||||
// Size of a IP address
|
||||
#define WL_IPV4_LENGTH 4
|
||||
// Maximum size of a SSID list
|
||||
#define WL_NETWORKS_LIST_MAXNUM 10
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
/***** Module Functions *****/
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_init_obj, picowireless_init);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_3(picowireless_get_network_data_obj, picowireless_get_network_data);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_3(picowireless_get_remote_data_obj, picowireless_get_remote_data);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_network_data_obj, picowireless_get_network_data);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_remote_data_obj, 1, picowireless_get_remote_data);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_wifi_set_network_obj, 1, picowireless_wifi_set_network);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_wifi_set_passphrase_obj, 2, picowireless_wifi_set_passphrase);
|
||||
|
@ -22,9 +22,9 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_disconnect_obj, picowireless_disco
|
|||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_connection_status_obj, picowireless_get_connection_status);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_mac_address_obj, picowireless_get_mac_address);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(picowireless_get_ip_address_obj, picowireless_get_ip_address);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(picowireless_get_subnet_mask_obj, picowireless_get_subnet_mask);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(picowireless_get_gateway_ip_obj, picowireless_get_gateway_ip);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_ip_address_obj, picowireless_get_ip_address);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_subnet_mask_obj, picowireless_get_subnet_mask);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_gateway_ip_obj, picowireless_get_gateway_ip);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_current_ssid_obj, picowireless_get_current_ssid);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_current_bssid_obj, picowireless_get_current_bssid);
|
||||
|
@ -33,15 +33,15 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_current_encryption_type_obj, p
|
|||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_start_scan_networks_obj, picowireless_start_scan_networks);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_scan_networks_obj, picowireless_get_scan_networks);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(picowireless_get_ssid_networks_obj, picowireless_get_ssid_networks);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_ssid_networks_obj, 1, picowireless_get_ssid_networks);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_enc_type_networks_obj, 1, picowireless_get_enc_type_networks);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(picowireless_get_bssid_networks_obj, picowireless_get_bssid_networks);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_bssid_networks_obj, 1, picowireless_get_bssid_networks);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_channel_networks_obj, 1, picowireless_get_channel_networks);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_rssi_networks_obj, 1, picowireless_get_rssi_networks);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(picowireless_req_host_by_name_obj, picowireless_req_host_by_name);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(picowireless_get_host_by_name_obj, 1, 2, picowireless_get_host_by_name);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_req_host_by_name_obj, 1, picowireless_req_host_by_name);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_host_by_name_obj, 0, picowireless_get_host_by_name);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_fw_version_obj, picowireless_get_fw_version);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_time_obj, picowireless_get_time);
|
||||
|
@ -59,8 +59,8 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_pin_mode_obj, 2, picowireless_pin
|
|||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_digital_write_obj, 2, picowireless_digital_write);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_analog_write_obj, 2, picowireless_analog_write);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(picowireless_server_start_obj, 3, 4, picowireless_server_start);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(picowireless_client_start_obj, 4, 5, picowireless_client_start);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_server_start_obj, 3, picowireless_server_start);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_client_start_obj, 4, picowireless_client_start);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_client_stop_obj, 1, picowireless_client_stop);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_server_state_obj, 1, picowireless_get_server_state);
|
||||
|
@ -68,12 +68,12 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_client_state_obj, 1, picowire
|
|||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_avail_data_obj, 1, picowireless_avail_data);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_avail_server_obj, 1, picowireless_avail_server);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_3(picowireless_get_data_obj, picowireless_get_data);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_3(picowireless_get_data_buf_obj, picowireless_get_data_buf);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_3(picowireless_insert_data_buf_obj, picowireless_insert_data_buf);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_data_obj, 2, picowireless_get_data);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_get_data_buf_obj, 1, picowireless_get_data_buf);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_insert_data_buf_obj, 2, picowireless_insert_data_buf);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_send_udp_data_obj, 1, picowireless_send_udp_data);
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_3(picowireless_send_data_obj, picowireless_send_data);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_send_data_obj, 2, picowireless_send_data);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(picowireless_check_data_sent_obj, 1, picowireless_check_data_sent);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(picowireless_get_socket_obj, picowireless_get_socket);
|
||||
|
||||
|
|
|
@ -36,20 +36,44 @@ mp_obj_t picowireless_init() {
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_network_data(mp_obj_t ip_out, mp_obj_t mask_out, mp_obj_t gwip_out) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_get_network_data() {
|
||||
if(wireless != nullptr) {
|
||||
uint8_t *ip = nullptr;
|
||||
uint8_t *mask = nullptr;
|
||||
uint8_t *gwip = nullptr;
|
||||
wireless->get_network_data(ip, mask, gwip);
|
||||
|
||||
mp_obj_t tuple[3];
|
||||
tuple[0] = mp_obj_new_bytes(ip, WL_IPV4_LENGTH);
|
||||
tuple[1] = mp_obj_new_bytes(mask, WL_IPV4_LENGTH);
|
||||
tuple[2] = mp_obj_new_bytes(gwip, WL_IPV4_LENGTH);
|
||||
return mp_obj_new_tuple(3, tuple);
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_remote_data(mp_obj_t sock, mp_obj_t ip_out, mp_obj_t port_out) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_get_remote_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_sock, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
uint8_t *ip = nullptr;
|
||||
uint8_t *port = nullptr;
|
||||
wireless->get_remote_data(args[ARG_sock].u_int, ip, port);
|
||||
|
||||
mp_obj_t tuple[2];
|
||||
tuple[0] = mp_obj_new_bytes(ip, WL_IPV4_LENGTH);
|
||||
tuple[1] = mp_obj_new_int((uint16_t)port[0] << 8 | (uint16_t)port[1]); //TODO verify size and ordering of port
|
||||
return mp_obj_new_tuple(2, tuple);
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
|
@ -210,39 +234,46 @@ mp_obj_t picowireless_get_connection_status() {
|
|||
}
|
||||
|
||||
mp_obj_t picowireless_get_mac_address() {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
if(wireless != nullptr) {
|
||||
uint8_t* mac = wireless->get_mac_address();
|
||||
return mp_obj_new_bytes(mac, WL_MAC_ADDR_LENGTH);
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_ip_address(mp_obj_t ip_out) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_get_ip_address() {
|
||||
if(wireless != nullptr) {
|
||||
IPAddress ip;
|
||||
wireless->get_ip_address(ip);
|
||||
return mp_obj_new_bytes(ip.to_bytes(), WL_IPV4_LENGTH);
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_subnet_mask(mp_obj_t mask_out) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_get_subnet_mask() {
|
||||
if(wireless != nullptr) {
|
||||
IPAddress mask;
|
||||
wireless->get_subnet_mask(mask);
|
||||
return mp_obj_new_bytes(mask.to_bytes(), WL_IPV4_LENGTH);
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_gateway_ip(mp_obj_t ip_out) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_get_gateway_ip() {
|
||||
if(wireless != nullptr) {
|
||||
IPAddress mask;
|
||||
wireless->get_gateway_ip(mask);
|
||||
return mp_obj_new_bytes(mask.to_bytes(), WL_IPV4_LENGTH);
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
|
@ -250,9 +281,10 @@ mp_obj_t picowireless_get_gateway_ip(mp_obj_t ip_out) {
|
|||
}
|
||||
|
||||
mp_obj_t picowireless_get_current_ssid() {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
if(wireless != nullptr) {
|
||||
std::string ssid = wireless->get_current_ssid();
|
||||
return mp_obj_new_str(ssid.c_str(), ssid.length());
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
|
@ -260,9 +292,10 @@ mp_obj_t picowireless_get_current_ssid() {
|
|||
}
|
||||
|
||||
mp_obj_t picowireless_get_current_bssid() {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
if(wireless != nullptr) {
|
||||
uint8_t* bssid = wireless->get_current_bssid();
|
||||
return mp_obj_new_bytes(bssid, WL_MAC_ADDR_LENGTH);
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
|
@ -305,17 +338,30 @@ mp_obj_t picowireless_get_scan_networks() {
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_ssid_networks(mp_obj_t network_item) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_get_ssid_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_network_item };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_network_item, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
uint8_t network_item = args[ARG_network_item].u_int;
|
||||
const char* ssid = wireless->get_ssid_networks(network_item);
|
||||
if(ssid != nullptr) {
|
||||
std::string str_ssid(ssid, WL_SSID_MAX_LENGTH);
|
||||
return mp_obj_new_str(str_ssid.c_str(), str_ssid.length());
|
||||
}
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_enc_type_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_get_enc_type_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_network_item };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -334,17 +380,30 @@ mp_obj_t picowireless_get_enc_type_networks(size_t n_args, const mp_obj_t *pos_a
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_bssid_networks(mp_obj_t network_item, mp_obj_t bssid_out) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_get_bssid_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_network_item };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_network_item, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
uint8_t network_item = args[ARG_network_item].u_int;
|
||||
uint8_t* bssid = nullptr;
|
||||
wireless->get_bssid_networks(network_item, bssid);
|
||||
if(bssid != nullptr) {
|
||||
return mp_obj_new_bytes(bssid, WL_MAC_ADDR_LENGTH);
|
||||
}
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_channel_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_get_channel_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_network_item };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -363,7 +422,7 @@ mp_obj_t picowireless_get_channel_networks(size_t n_args, const mp_obj_t *pos_ar
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_rssi_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_get_rssi_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_network_item };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -382,22 +441,53 @@ mp_obj_t picowireless_get_rssi_networks(size_t n_args, const mp_obj_t *pos_args,
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_req_host_by_name(mp_obj_t hostname) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_req_host_by_name(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_hostname };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_hostname, MP_ARG_REQUIRED | MP_ARG_OBJ },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
std::string hostname;
|
||||
mp_obj_to_string(args[ARG_hostname].u_obj, hostname);
|
||||
|
||||
return mp_obj_new_bool(wireless->req_host_by_name(hostname));
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
return mp_const_false;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_host_by_name(mp_uint_t n_args, const mp_obj_t *args) {
|
||||
//mp_obj_t picowireless_get_host_by_name(mp_obj_t ip_out) {
|
||||
//mp_obj_t picowireless_get_host_by_name(mp_obj_t hostname, mp_obj_t ip_out) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_get_host_by_name(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
if(n_args == 0) {
|
||||
IPAddress ip;
|
||||
if(wireless->get_host_by_name(ip)) {
|
||||
return mp_obj_new_bytes(ip.to_bytes(), WL_IPV4_LENGTH);
|
||||
}
|
||||
}
|
||||
else {
|
||||
enum { ARG_hostname };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_hostname, MP_ARG_REQUIRED | MP_ARG_OBJ },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
std::string hostname;
|
||||
mp_obj_to_string(args[ARG_hostname].u_obj, hostname);
|
||||
|
||||
IPAddress ip;
|
||||
if(wireless->get_host_by_name(hostname, ip)) {
|
||||
return mp_obj_new_bytes(ip.to_bytes(), WL_IPV4_LENGTH);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
|
@ -405,9 +495,11 @@ mp_obj_t picowireless_get_host_by_name(mp_uint_t n_args, const mp_obj_t *args) {
|
|||
}
|
||||
|
||||
mp_obj_t picowireless_get_fw_version() {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
if(wireless != nullptr) {
|
||||
const char* fw_ver = wireless->get_fw_version();
|
||||
std::string str_fw_ver(fw_ver, WL_FW_VER_LENGTH);
|
||||
return mp_obj_new_str(str_fw_ver.c_str(), str_fw_ver.length());
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
|
@ -490,7 +582,7 @@ mp_obj_t picowireless_wifi_set_ap_passphrase(size_t n_args, const mp_obj_t *pos_
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_ping(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_ping(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_ip_address, ARG_ttl };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -602,31 +694,99 @@ mp_obj_t picowireless_analog_write(size_t n_args, const mp_obj_t *pos_args, mp_m
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_server_start(mp_uint_t n_args, const mp_obj_t *args) {
|
||||
//mp_obj_t picowireless_start_server(mp_obj_t port, mp_obj_t sock, mp_obj_t protocol_mode/*=TCP_MODE*/) {
|
||||
//mp_obj_t picowireless_start_server(mp_uint_t n_args, const mp_obj_t *args) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_server_start(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
if(n_args == 3) {
|
||||
enum { ARG_port, ARG_sock, ARG_protocol_mode };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_prt, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_sock, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_protocol_mode, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
uint16_t port = args[ARG_port].u_int;
|
||||
uint8_t sock = args[ARG_sock].u_int;
|
||||
uint8_t protocol_mode = args[ARG_protocol_mode].u_int;
|
||||
wireless->start_server(port, sock, protocol_mode);
|
||||
}
|
||||
else {
|
||||
enum { ARG_ip_address, ARG_port, ARG_sock, ARG_protocol_mode };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_ip_address, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_prt, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_sock, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_protocol_mode, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
uint32_t ip_address = args[ARG_ip_address].u_int;
|
||||
uint16_t port = args[ARG_port].u_int;
|
||||
uint8_t sock = args[ARG_sock].u_int;
|
||||
uint8_t protocol_mode = args[ARG_protocol_mode].u_int;
|
||||
wireless->start_server(ip_address, port, sock, protocol_mode);
|
||||
}
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_client_start(mp_uint_t n_args, const mp_obj_t *args) {
|
||||
//(mp_obj_t ip_address, mp_obj_t port, mp_obj_t sock, mp_obj_t protocol_mode/*=TCP_MODE*/)
|
||||
//(mp_obj_t host, mp_obj_t ip_address, mp_obj_t port, mp_obj_t sock, mp_obj_t protocol_mode/*=TCP_MODE*/) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_client_start(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
if(n_args == 4) {
|
||||
enum { ARG_ip_address, ARG_port, ARG_sock, ARG_protocol_mode };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_ip_address, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_prt, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_sock, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_protocol_mode, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
uint32_t ip_address = args[ARG_ip_address].u_int;
|
||||
uint16_t port = args[ARG_port].u_int;
|
||||
uint8_t sock = args[ARG_sock].u_int;
|
||||
uint8_t protocol_mode = args[ARG_protocol_mode].u_int;
|
||||
wireless->start_client(ip_address, port, sock, protocol_mode);
|
||||
}
|
||||
else {
|
||||
enum { ARG_hostname, ARG_ip_address, ARG_port, ARG_sock, ARG_protocol_mode };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_hostname, MP_ARG_REQUIRED | MP_ARG_OBJ },
|
||||
{ MP_QSTR_ip_address, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_prt, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_sock, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_protocol_mode, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
std::string hostname;
|
||||
mp_obj_to_string(args[ARG_hostname].u_obj, hostname);
|
||||
|
||||
uint32_t ip_address = args[ARG_ip_address].u_int;
|
||||
uint16_t port = args[ARG_port].u_int;
|
||||
uint8_t sock = args[ARG_sock].u_int;
|
||||
uint8_t protocol_mode = args[ARG_protocol_mode].u_int;
|
||||
wireless->start_client(hostname, ip_address, port, sock, protocol_mode);
|
||||
}
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_client_stop(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_client_stop(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -645,7 +805,7 @@ mp_obj_t picowireless_client_stop(size_t n_args, const mp_obj_t *pos_args, mp_ma
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_server_state(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_get_server_state(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -664,7 +824,7 @@ mp_obj_t picowireless_get_server_state(size_t n_args, const mp_obj_t *pos_args,
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_client_state(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_get_client_state(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -683,7 +843,7 @@ mp_obj_t picowireless_get_client_state(size_t n_args, const mp_obj_t *pos_args,
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_avail_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_avail_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -702,7 +862,7 @@ mp_obj_t picowireless_avail_data(size_t n_args, const mp_obj_t *pos_args, mp_map
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_avail_server(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_avail_server(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -721,37 +881,73 @@ mp_obj_t picowireless_avail_server(size_t n_args, const mp_obj_t *pos_args, mp_m
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_data(mp_obj_t sock, mp_obj_t data_out, mp_obj_t peek) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_get_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock, ARG_peek };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_sock, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_peek, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
uint8_t *data = nullptr;
|
||||
if(wireless->get_data(args[ARG_sock].u_int, data, args[ARG_peek].u_int)) {
|
||||
return mp_obj_new_int(*data);
|
||||
}
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_get_data_buf(mp_obj_t sock, mp_obj_t data_out, mp_obj_t data_len_out) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_get_data_buf(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_sock, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
uint8_t *data = nullptr;
|
||||
uint16_t *data_len = nullptr;
|
||||
if(wireless->get_data_buf(args[ARG_sock].u_int, data, data_len)) {
|
||||
return mp_obj_new_bytes(data, *data_len);
|
||||
}
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_insert_data_buf(mp_obj_t sock, mp_obj_t data_in, mp_obj_t len) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_insert_data_buf(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock, ARG_data};
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_sock, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
mp_buffer_info_t bufinfo;
|
||||
mp_get_buffer_raise(args[ARG_data].u_obj, &bufinfo, MP_BUFFER_READ);
|
||||
|
||||
return mp_obj_new_bool(wireless->insert_data_buf(args[ARG_sock].u_int, (uint8_t *)bufinfo.buf, bufinfo.len));
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_send_udp_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_send_udp_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -770,17 +966,29 @@ mp_obj_t picowireless_send_udp_data(size_t n_args, const mp_obj_t *pos_args, mp_
|
|||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_send_data(mp_obj_t sock, mp_obj_t data_in, mp_obj_t len) {
|
||||
if(wireless != nullptr)
|
||||
//TODO implement
|
||||
mp_raise_NotImplementedError("Please avoid using this function for now");
|
||||
mp_obj_t picowireless_send_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock, ARG_data};
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_sock, MP_ARG_REQUIRED | MP_ARG_INT },
|
||||
{ MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ },
|
||||
};
|
||||
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
mp_buffer_info_t bufinfo;
|
||||
mp_get_buffer_raise(args[ARG_data].u_obj, &bufinfo, MP_BUFFER_READ);
|
||||
|
||||
return mp_obj_new_int(wireless->send_data(args[ARG_sock].u_int, (uint8_t *)bufinfo.buf, bufinfo.len));
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
mp_obj_t picowireless_check_data_sent(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
mp_obj_t picowireless_check_data_sent(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
if(wireless != nullptr) {
|
||||
enum { ARG_sock };
|
||||
static const mp_arg_t allowed_args[] = {
|
||||
|
@ -790,8 +998,7 @@ mp_obj_t picowireless_check_data_sent(size_t n_args, const mp_obj_t *pos_args, m
|
|||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
uint8_t sock = args[ARG_sock].u_int;
|
||||
return mp_obj_new_int(wireless->check_data_sent(sock));
|
||||
return mp_obj_new_int(wireless->check_data_sent(args[ARG_sock].u_int));
|
||||
}
|
||||
else
|
||||
mp_raise_msg(&mp_type_RuntimeError, NOT_INITIALISED_MSG);
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
|
||||
// Declare the functions we'll make available in Python
|
||||
extern mp_obj_t picowireless_init();
|
||||
extern mp_obj_t picowireless_get_network_data(mp_obj_t ip_out, mp_obj_t mask_out, mp_obj_t gwip_out);
|
||||
extern mp_obj_t picowireless_get_remote_data(mp_obj_t sock, mp_obj_t ip_out, mp_obj_t port_out);
|
||||
extern mp_obj_t picowireless_get_network_data();
|
||||
extern mp_obj_t picowireless_get_remote_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
|
||||
extern mp_obj_t picowireless_wifi_set_network(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_wifi_set_passphrase(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
|
@ -20,9 +20,9 @@ extern mp_obj_t picowireless_disconnect();
|
|||
extern mp_obj_t picowireless_get_connection_status();
|
||||
extern mp_obj_t picowireless_get_mac_address();
|
||||
|
||||
extern mp_obj_t picowireless_get_ip_address(mp_obj_t ip_out);
|
||||
extern mp_obj_t picowireless_get_subnet_mask(mp_obj_t mask_out);
|
||||
extern mp_obj_t picowireless_get_gateway_ip(mp_obj_t ip_out);
|
||||
extern mp_obj_t picowireless_get_ip_address();
|
||||
extern mp_obj_t picowireless_get_subnet_mask();
|
||||
extern mp_obj_t picowireless_get_gateway_ip();
|
||||
|
||||
extern mp_obj_t picowireless_get_current_ssid();
|
||||
extern mp_obj_t picowireless_get_current_bssid();
|
||||
|
@ -31,16 +31,15 @@ extern mp_obj_t picowireless_get_current_encryption_type();
|
|||
|
||||
extern mp_obj_t picowireless_start_scan_networks();
|
||||
extern mp_obj_t picowireless_get_scan_networks();
|
||||
extern mp_obj_t picowireless_get_ssid_networks(mp_obj_t network_item);
|
||||
extern mp_obj_t picowireless_get_ssid_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
|
||||
extern mp_obj_t picowireless_get_enc_type_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_get_bssid_networks(mp_obj_t network_item, mp_obj_t bssid_out);
|
||||
extern mp_obj_t picowireless_get_bssid_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_get_channel_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_get_rssi_networks(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
|
||||
extern mp_obj_t picowireless_req_host_by_name(mp_obj_t hostname);
|
||||
extern mp_obj_t picowireless_get_host_by_name(mp_uint_t n_args, const mp_obj_t *args);//(mp_obj_t ip_out);
|
||||
//extern mp_obj_t picowireless_get_host_by_name(mp_obj_t hostname, mp_obj_t ip_out);
|
||||
extern mp_obj_t picowireless_req_host_by_name(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_get_host_by_name(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
|
||||
extern mp_obj_t picowireless_get_fw_version();
|
||||
extern mp_obj_t picowireless_get_time();
|
||||
|
@ -58,10 +57,8 @@ extern mp_obj_t picowireless_pin_mode(size_t n_args, const mp_obj_t *pos_args, m
|
|||
extern mp_obj_t picowireless_digital_write(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_analog_write(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
|
||||
//extern mp_obj_t picowireless_start_server(mp_obj_t port, mp_obj_t sock, mp_obj_t protocol_mode/*=TCP_MODE*/);
|
||||
extern mp_obj_t picowireless_server_start(mp_uint_t n_args, const mp_obj_t *args);//(mp_obj_t ip_address, mp_obj_t port, mp_obj_t sock, mp_obj_t protocol_mode/*=TCP_MODE*/);
|
||||
extern mp_obj_t picowireless_client_start(mp_uint_t n_args, const mp_obj_t *args);//(mp_obj_t ip_address, mp_obj_t port, mp_obj_t sock, mp_obj_t protocol_mode/*=TCP_MODE*/);
|
||||
//extern mp_obj_t picowireless_start_client(mp_uint_t n_args, const mp_obj_t *args);//(mp_obj_t host, mp_obj_t ip_address, mp_obj_t port, mp_obj_t sock, mp_obj_t protocol_mode/*=TCP_MODE*/);
|
||||
extern mp_obj_t picowireless_server_start(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_client_start(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_client_stop(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
|
||||
extern mp_obj_t picowireless_get_server_state(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
|
@ -69,11 +66,11 @@ extern mp_obj_t picowireless_get_client_state(size_t n_args, const mp_obj_t *pos
|
|||
extern mp_obj_t picowireless_avail_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_avail_server(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
|
||||
extern mp_obj_t picowireless_get_data(mp_obj_t sock, mp_obj_t data_out, mp_obj_t peek);
|
||||
extern mp_obj_t picowireless_get_data_buf(mp_obj_t sock, mp_obj_t data_out, mp_obj_t data_len_out);
|
||||
extern mp_obj_t picowireless_insert_data_buf(mp_obj_t sock, mp_obj_t data_in, mp_obj_t len);
|
||||
extern mp_obj_t picowireless_get_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_get_data_buf(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_insert_data_buf(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_send_udp_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
|
||||
extern mp_obj_t picowireless_send_data(mp_obj_t sock, mp_obj_t data_in, mp_obj_t len);
|
||||
extern mp_obj_t picowireless_send_data(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_check_data_sent(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args);
|
||||
extern mp_obj_t picowireless_get_socket();
|
Ładowanie…
Reference in New Issue