Skip to content

file /Users/ios_developer/workspace/coldwave-os/build/_deps/libcoldwave-src/commissioning/wifi_commissioning.h

Types

Name
structwifi_commissioning_data_t
structwifi_commissioning_init_t
typedef void(*)(int result, wifi_commissioning_data_t *data)wifi_commissioning_data_callback_t

Functions Overview

Name
intwifi_commissioning_start(int wifi_commissioning_type, wifi_commissioning_init_t * init)
voidwifi_commissioning_end(void * p)

Defines

Name
E_OK
E_FAILED
E_RUNNING
E_SCAN
E_TIMEOUT
WCT_BLE
WCT_AP
WCT_LEGACY
WIFI_MAX_SCAN_RESULTS
WIFI_CAP_JOIN
WIFI_CAP_SCAN
CW_WIFI_DISCONNECTED
CW_WIFI_CONNECTING
CW_WIFI_CONNECTED
P_WIFI_IS_SCANNING
P_WIFI_CAPABILITIES
P_WIFI_CURR_SSID
P_WIFI_CURR_BSSID
P_WIFI_STATE
P_WIFI_IF_IP
P_ACTIONTOKEN
P_RESULT
P_SSID
P_BSSID
P_SECTYPE
P_PASSKEY
P_RSSI

Types Documentation

typedef wifi_commissioning_data_callback_t

cpp
typedef void(* wifi_commissioning_data_callback_t) (int result, wifi_commissioning_data_t *data);

Function Details

function wifi_commissioning_start

cpp
int wifi_commissioning_start(
    int wifi_commissioning_type,
    wifi_commissioning_init_t * init
)

function wifi_commissioning_end

cpp
void wifi_commissioning_end(
    void * p
)

Macros Documentation

define E_OK

cpp
#define E_OK (0)

define E_FAILED

cpp
#define E_FAILED (-1)

define E_RUNNING

cpp
#define E_RUNNING (-2)

define E_SCAN

cpp
#define E_SCAN (-3)

define E_TIMEOUT

cpp
#define E_TIMEOUT (-101)

define WCT_BLE

cpp
#define WCT_BLE (0)

define WCT_AP

cpp
#define WCT_AP (1)

define WCT_LEGACY

cpp
#define WCT_LEGACY (2)

define WIFI_MAX_SCAN_RESULTS

cpp
#define WIFI_MAX_SCAN_RESULTS (25)

define WIFI_CAP_JOIN

cpp
#define WIFI_CAP_JOIN (1)

define WIFI_CAP_SCAN

cpp
#define WIFI_CAP_SCAN (2)

define CW_WIFI_DISCONNECTED

cpp
#define CW_WIFI_DISCONNECTED (0)

define CW_WIFI_CONNECTING

cpp
#define CW_WIFI_CONNECTING (1)

define CW_WIFI_CONNECTED

cpp
#define CW_WIFI_CONNECTED (2)

define P_WIFI_IS_SCANNING

cpp
#define P_WIFI_IS_SCANNING (uint32_t)((0x4000 << 16)     | TT_BOOL    | TAG_READONLY)

define P_WIFI_CAPABILITIES

cpp
#define P_WIFI_CAPABILITIES (uint32_t)((0x4001 << 16)     | TT_UINT8   | TAG_READONLY)

define P_WIFI_CURR_SSID

cpp
#define P_WIFI_CURR_SSID (uint32_t)((0x4002 << 16)     | TT_STRING  | TAG_READONLY)

define P_WIFI_CURR_BSSID

cpp
#define P_WIFI_CURR_BSSID (uint32_t)((0x4003 << 16)     | TT_BIN  | TAG_READONLY)

define P_WIFI_STATE

cpp
#define P_WIFI_STATE (uint32_t)((0x4004 << 16)     | TT_UINT8   | TAG_READONLY)

define P_WIFI_IF_IP

cpp
#define P_WIFI_IF_IP (uint32_t)((0x4005 << 16)     | TT_UINT32  | TAG_READONLY)

define P_ACTIONTOKEN

cpp
#define P_ACTIONTOKEN (uint32_t)((0x1000 << 16)     | TT_UINT16   | TAG_READONLY)

define P_RESULT

cpp
#define P_RESULT (uint32_t)((0x1001 << 16)     | TT_INT8    | TAG_READONLY)

define P_SSID

cpp
#define P_SSID (uint32_t)((0x1001 << 16)     | TT_STRING  | TAG_ACTIONABLE)

define P_BSSID

cpp
#define P_BSSID (uint32_t)((0x1002 << 16)     | TT_BIN  | TAG_ACTIONABLE)

define P_SECTYPE

cpp
#define P_SECTYPE (uint32_t)((0x1003 << 16)     | TT_UINT8   | TAG_ACTIONABLE)

define P_PASSKEY

cpp
#define P_PASSKEY (uint32_t)((0x1004 << 16)     | TT_STRING  | TAG_ACTIONABLE)

define P_RSSI

cpp
#define P_RSSI (uint32_t)((0x1004 << 16)     | TT_INT16  | TAG_READONLY)

Source code

cpp
//
// Created by Sebastian Floss on 26.02.23.
// Copyright (c) 2023 ImagineOn GmbH. All rights reserved.
//

#ifndef _WIFI_COMMISSIONING_H_
#define _WIFI_COMMISSIONING_H_

#include <inttypes.h>
#include <flake/flake.h>
#include <wlan.h>

using namespace flake;

#define E_OK      (0)
#define E_FAILED  (-1)
#define E_RUNNING (-2)
#define E_SCAN    (-3)
#define E_TIMEOUT (-101)

#define WCT_BLE    (0)
#define WCT_AP     (1)
#define WCT_LEGACY (2)

#define WIFI_MAX_SCAN_RESULTS    (25)

#define WIFI_CAP_JOIN            (1)
#define WIFI_CAP_SCAN            (2)

#define CW_WIFI_DISCONNECTED     (0)
#define CW_WIFI_CONNECTING       (1)
#define CW_WIFI_CONNECTED        (2)

#define P_WIFI_IS_SCANNING       (uint32_t)((0x4000 << 16)     | TT_BOOL    | TAG_READONLY)
#define P_WIFI_CAPABILITIES      (uint32_t)((0x4001 << 16)     | TT_UINT8   | TAG_READONLY)
#define P_WIFI_CURR_SSID         (uint32_t)((0x4002 << 16)     | TT_STRING  | TAG_READONLY)
#define P_WIFI_CURR_BSSID        (uint32_t)((0x4003 << 16)     | TT_BIN  | TAG_READONLY)
#define P_WIFI_STATE             (uint32_t)((0x4004 << 16)     | TT_UINT8   | TAG_READONLY)
#define P_WIFI_IF_IP             (uint32_t)((0x4005 << 16)     | TT_UINT32  | TAG_READONLY)

#define P_ACTIONTOKEN            (uint32_t)((0x1000 << 16)     | TT_UINT16   | TAG_READONLY)
#define P_RESULT                 (uint32_t)((0x1001 << 16)     | TT_INT8    | TAG_READONLY)
#define P_SSID                   (uint32_t)((0x1001 << 16)     | TT_STRING  | TAG_ACTIONABLE)
#define P_BSSID                  (uint32_t)((0x1002 << 16)     | TT_BIN  | TAG_ACTIONABLE)
#define P_SECTYPE                (uint32_t)((0x1003 << 16)     | TT_UINT8   | TAG_ACTIONABLE)
#define P_PASSKEY                (uint32_t)((0x1004 << 16)     | TT_STRING  | TAG_ACTIONABLE)
#define P_RSSI                   (uint32_t)((0x1004 << 16)     | TT_INT16  | TAG_READONLY)


typedef struct wifi_commissioning_data_t {
    uint8_t sec_type;
    uint8_t ssid_length;
    uint8_t ssid[32];
    uint8_t passphrase_length;
    uint8_t passphrase[63];
    uint8_t bssid[6];
} wifi_commissioning_data_t;

typedef void  (*wifi_commissioning_data_callback_t)(int result, wifi_commissioning_data_t* data);

typedef struct wifi_commissioning_init_t {
    int wifi_dev;
    int commissioner_dev;
    const char* commissioner_name;
    const char* commissioner_password;
    Service *device_srv;
    uint32_t timeout_ms;
    wifi_commissioning_data_callback_t data_callback;
} wifi_commissioning_init_t;

int
wifi_commissioning_start (int wifi_commissioning_type, wifi_commissioning_init_t *init);

void
wifi_commissioning_end (void *p);

#endif //_WIFI_COMMISSIONING_H_