Morse Micro IoT SDK  2.11.2
ap_mode.c File Reference

Detailed Description

AP Example Application.

Note
It is assumed that you have followed the steps in the Getting Started guide and are therefore familiar with how to build, flash, and monitor an application using the MM-IoT-SDK framework.

Definition in file ap_mode.c.

#include <string.h>
#include "mmconfig.h"
#include "mmosal.h"
#include "mmutils.h"
#include "mm_app_common.h"
#include "mm_app_loadconfig.h"
#include "mmlog.h"
Include dependency graph for ap_mode.c:

Go to the source code of this file.

Macros

#define STATIC_LOCAL_IP   "192.168.1.1"
 Statically configured IP address. More...
 
#define STATIC_GATEWAY   "192.168.1.1"
 Statically configured gateway address. More...
 
#define STATIC_NETMASK   "255.255.255.0"
 Statically configured netmask. More...
 
#define AP_SSID   MorseMicroIoT
 SSID of the AP. More...
 
#define SAE_PASSPHRASE   12345678
 Passphrase of the AP (ignored if security type is not SAE). More...
 
#define SECURITY_TYPE   MMWLAN_SAE
 Security type (. More...
 
#define PMF_MODE   MMWLAN_PMF_REQUIRED
 Protected Management Frames (PMF) mode (. More...
 
#define OP_CLASS   (71) /* US, 8 MHz */
 Operating Class to use for AP. More...
 
#define S1G_CHANNEL   (44) /* US, 8 MHz */
 S1G Channel to use for AP. More...
 
#define PRIMARY_BW_MHZ   (0)
 Primary Bandwidth to use for AP. More...
 
#define PRIMARY_1MHZ_CHANNEL_INDEX   (3)
 Primary 1 MHz Channel Index to use for AP. More...
 
#define MAX_STAS   MMWLAN_DEFAULT_AP_MAX_STAS
 The maximum number of stations that can connect to the AP. More...
 
#define _STRINGIFY(x)   #x
 Stringify macro. More...
 
#define STRINGIFY(x)   _STRINGIFY(x)
 Convert the content of the given macro to a string. More...
 

Functions

static char * mmwlan_ap_sta_state_to_str (enum mmwlan_ap_sta_state state)
 Function to convert mmwlan_ap_sta_state enumeration to a human readable string. More...
 
static void handle_ap_sta_status (const struct mmwlan_ap_sta_status *sta_status, void *arg)
 Handler for AP STA Status callback. More...
 
static void load_ap_mmipal_init_args (struct mmipal_init_args *args)
 Loads the provided structure with initialization parameters read from config store. More...
 
void load_mmwlan_ap_args (struct mmwlan_ap_args *ap_args)
 Loads the provided structure with initialization parameters read from config store. More...
 
static void load_mmwlan_settings_ap (void)
 Loads various WLAN AP specific settings from config store and applies them. More...
 
static void link_status_callback (const struct mmipal_link_status *link_status)
 Link status callback. More...
 
void app_init (void)
 Main entry point to the application. More...
 

Variables

uint32_t opaque_argument_value
 A throw away variable for checking that the opaque argument is correct. More...
 

Macro Definition Documentation

◆ _STRINGIFY

#define _STRINGIFY (   x)    #x

Stringify macro.

Do not use directly; use STRINGIFY().

Definition at line 121 of file ap_mode.c.

◆ AP_SSID

#define AP_SSID   MorseMicroIoT

SSID of the AP.

(Do not quote; it will be stringified.)

Definition at line 52 of file ap_mode.c.

◆ MAX_STAS

#define MAX_STAS   MMWLAN_DEFAULT_AP_MAX_STAS

The maximum number of stations that can connect to the AP.

Must not be greater than MMWLAN_AP_MAX_STAS_LIMIT.

Definition at line 117 of file ap_mode.c.

◆ OP_CLASS

#define OP_CLASS   (71) /* US, 8 MHz */

Operating Class to use for AP.

This together with S1G_CHANNEL must correspond to a channel in the regulatory database.

Definition at line 84 of file ap_mode.c.

◆ PMF_MODE

#define PMF_MODE   MMWLAN_PMF_REQUIRED

Protected Management Frames (PMF) mode (.

See also
mmwlan_pmf_mode).

Definition at line 70 of file ap_mode.c.

◆ PRIMARY_1MHZ_CHANNEL_INDEX

#define PRIMARY_1MHZ_CHANNEL_INDEX   (3)

Primary 1 MHz Channel Index to use for AP.

Definition at line 109 of file ap_mode.c.

◆ PRIMARY_BW_MHZ

#define PRIMARY_BW_MHZ   (0)

Primary Bandwidth to use for AP.

Valid values:

  • 0 (auto)
  • 1
  • 2

Definition at line 104 of file ap_mode.c.

◆ S1G_CHANNEL

#define S1G_CHANNEL   (44) /* US, 8 MHz */

S1G Channel to use for AP.

This together with OP_CLASS must correspond to a channel in the regulatory database.

Definition at line 92 of file ap_mode.c.

◆ SAE_PASSPHRASE

#define SAE_PASSPHRASE   12345678

Passphrase of the AP (ignored if security type is not SAE).

(Do not quote; it will be stringified.)

Definition at line 58 of file ap_mode.c.

◆ SECURITY_TYPE

#define SECURITY_TYPE   MMWLAN_SAE

Security type (.

See also
mmwlan_security_type).

Definition at line 64 of file ap_mode.c.

◆ STATIC_GATEWAY

#define STATIC_GATEWAY   "192.168.1.1"

Statically configured gateway address.

Definition at line 37 of file ap_mode.c.

◆ STATIC_LOCAL_IP

#define STATIC_LOCAL_IP   "192.168.1.1"

Statically configured IP address.

Definition at line 33 of file ap_mode.c.

◆ STATIC_NETMASK

#define STATIC_NETMASK   "255.255.255.0"

Statically configured netmask.

Definition at line 41 of file ap_mode.c.

◆ STRINGIFY

#define STRINGIFY (   x)    _STRINGIFY(x)

Convert the content of the given macro to a string.

Definition at line 123 of file ap_mode.c.

Function Documentation

◆ app_init()

void app_init ( void  )

Main entry point to the application.

This will be invoked in a thread once operating system and hardware initialization has completed. It may return, but it does not have to.

Definition at line 434 of file ap_mode.c.

◆ handle_ap_sta_status()

static void handle_ap_sta_status ( const struct mmwlan_ap_sta_status sta_status,
void *  arg 
)
static

Handler for AP STA Status callback.

Parameters
sta_statusSTA status information.
argOpaque argument that was provided when the callback was registered.

Definition at line 161 of file ap_mode.c.

◆ link_status_callback()

static void link_status_callback ( const struct mmipal_link_status link_status)
static

Link status callback.

Parameters
link_statusCurrent link status

Definition at line 414 of file ap_mode.c.

◆ load_ap_mmipal_init_args()

static void load_ap_mmipal_init_args ( struct mmipal_init_args args)
static

Loads the provided structure with initialization parameters read from config store.

If a specific parameter is not found then default values are used. Use this function to load defaults before calling mmipal_init().

Note
This is a AP specific implementation.
Parameters
argsA pointer to the mmipal_init_args to return the settings in.

Definition at line 184 of file ap_mode.c.

◆ load_mmwlan_ap_args()

void load_mmwlan_ap_args ( struct mmwlan_ap_args ap_args)

Loads the provided structure with initialization parameters read from config store.

If a specific parameter is not found then default values are used. Use this function to load defaults before calling mmwlan_ap_enable().

Parameters
ap_argsA pointer to the mmwlan_ap_args to return the settings in.

Definition at line 208 of file ap_mode.c.

◆ load_mmwlan_settings_ap()

static void load_mmwlan_settings_ap ( void  )
static

Loads various WLAN AP specific settings from config store and applies them.

Definition at line 358 of file ap_mode.c.

◆ mmwlan_ap_sta_state_to_str()

static char * mmwlan_ap_sta_state_to_str ( enum mmwlan_ap_sta_state  state)
static

Function to convert mmwlan_ap_sta_state enumeration to a human readable string.

Parameters
stateState enum to convert
Returns
sting representation of the enumeration.

Definition at line 135 of file ap_mode.c.

Variable Documentation

◆ opaque_argument_value

uint32_t opaque_argument_value

A throw away variable for checking that the opaque argument is correct.

Definition at line 126 of file ap_mode.c.