API  2.3.0
TSmarT Software Library
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions

Functions

long netapp_config_mac_adrress (unsigned char *mac)
 Configure device MAC address and store it in NVMEM. The value of the MAC address configured through the API will be stored in CC3000 non volatile memory, thus preserved over resets. More...
 
long netapp_dhcp (unsigned long *aucIP, unsigned long *aucSubnetMask, unsigned long *aucDefaultGateway, unsigned long *aucDNSServer)
 netapp_dhcp is used to configure the network interface, static or dynamic (DHCP).
In order to activate DHCP mode, aucIP, aucSubnetMask, aucDefaultGateway must be 0. The default mode of CC3000 is DHCP mode. Note that the configuration is saved in non volatile memory and thus preserved over resets. More...
 
long netapp_timeout_values (unsigned long *aucDHCP, unsigned long *aucARP, unsigned long *aucKeepalive, unsigned long *aucInactivity)
 Set new timeout values. Function set new timeout values for: DHCP lease timeout, ARP refresh timeout, keepalive event timeout and socket inactivity timeout. More...
 
long netapp_ping_send (unsigned long *ip, unsigned long ulPingAttempts, unsigned long ulPingSize, unsigned long ulPingTimeout)
 send ICMP ECHO_REQUEST to network hosts More...
 
long netapp_ping_stop ()
 Stop any ping request. More...
 
void netapp_ping_report ()
 Request for ping status. This API triggers the CC3000 to send asynchronous events: HCI_EVNT_WLAN_ASYNC_PING_REPORT. This event will carry the report structure: netapp_pingreport_args_t. This structure is filled in with ping results up till point of triggering API. netapp_pingreport_args_t:
packets_sent - echo sent, packets_received - echo reply, min_round_time - minimum round time, max_round_time - max round time, avg_round_time - average round time. More...
 
void netapp_ipconfig (tNetappIpconfigRetArgs *ipconfig)
 Obtain the CC3000 Network interface information. Note that the information is available only after the WLAN connection was established. Calling this function before associated, will cause non-defined values to be returned. More...
 
long netapp_arp_flush ()
 Flushes ARP table. More...
 
long netapp_set_debug_level (unsigned long ulLevel)
 Debug messages sent via the UART debug channel, this function enable/disable the debug level. More...
 
signed long nvmem_read (unsigned long file_id, unsigned long length, unsigned long offset, unsigned char *buff)
 Reads data from the file referred by the ulFileId parameter. Reads data from file ulOffset till length. Err if the file can't be used, is invalid, or if the read is out of bounds. More...
 
signed long nvmem_write (unsigned long ulFileId, unsigned long ulLength, unsigned long ulEntryOffset, unsigned char *buff)
 Write data to nvmem. writes data to file referred by the ulFileId parameter. Writes data to file ulOffset till ulLength.The file id will be marked invalid till the write is done. The file entry doesn't need to be valid - only allocated. More...
 
unsigned char nvmem_set_mac_address (unsigned char *mac)
 Write MAC address to EEPROM. mac address as appears over the air (OUI first) More...
 
unsigned char nvmem_get_mac_address (unsigned char *mac)
 Read MAC address from EEPROM. mac address as appears over the air (OUI first) More...
 
unsigned char nvmem_write_patch (unsigned long ulFileId, unsigned long spLength, const unsigned char *spData)
 program a patch to a specific file ID. The SP data is assumed to be organized in 2-dimensional. Each line is SP_PORTION_SIZE bytes long. Actual programming is applied in SP_PORTION_SIZE bytes portions. More...
 
unsigned char nvmem_read_sp_version (unsigned char *patchVer)
 Read patch version. read package version (WiFi FW patch, driver-supplicant-NS patch, bootloader patch) More...
 
signed long nvmem_create_entry (unsigned long file_id, unsigned long newlen)
 Create new file entry and allocate space on the NVMEM. Applies only to user files. Modify the size of file. If the entry is unallocated - allocate it to size ulNewLen (marked invalid). If it is allocated then deallocate it first. To just mark the file as invalid without resizing - set ulNewLen=0. More...
 

Detailed Description

Function Documentation

long netapp_arp_flush ( void  )

Flushes ARP table.

netapp_arp_flush

Returns
none
long netapp_config_mac_adrress ( unsigned char *  mac)

Configure device MAC address and store it in NVMEM. The value of the MAC address configured through the API will be stored in CC3000 non volatile memory, thus preserved over resets.

netapp_config_mac_adrress

Parameters
macdevice mac address, 6 bytes. Saved: yes
Returns
return on success 0, otherwise error.
long netapp_dhcp ( unsigned long *  aucIP,
unsigned long *  aucSubnetMask,
unsigned long *  aucDefaultGateway,
unsigned long *  aucDNSServer 
)

netapp_dhcp is used to configure the network interface, static or dynamic (DHCP).
In order to activate DHCP mode, aucIP, aucSubnetMask, aucDefaultGateway must be 0. The default mode of CC3000 is DHCP mode. Note that the configuration is saved in non volatile memory and thus preserved over resets.

netapp_dhcp

Parameters
aucIPdevice mac address, 6 bytes. Saved: yes
aucSubnetMaskdevice mac address, 6 bytes. Saved: yes
aucDefaultGatewaydevice mac address, 6 bytes. Saved: yes
aucDNSServerdevice mac address, 6 bytes. Saved: yes
Returns
return on success 0, otherwise error.
Note
If the mode is altered a reset of CC3000 device is required in order to apply changes.
Also note that asynchronous event of DHCP_EVENT, which is generated when an IP address is allocated either by the DHCP server or due to static allocation is generated only upon a connection to the AP was established.
Examples:
mqtt_wifi_publisher.c, mqtt_wifi_subscriber.c, wifi_tcp_client.c, wifi_tcp_client_server.c, and wifi_tcp_server.c.
void netapp_ipconfig ( tNetappIpconfigRetArgs *  ipconfig)

Obtain the CC3000 Network interface information. Note that the information is available only after the WLAN connection was established. Calling this function before associated, will cause non-defined values to be returned.

netapp_ipconfig

Parameters
[out]ipconfigThis argument is a pointer to a tNetappIpconfigRetArgs structure. This structure is filled in with the network interface configuration. tNetappIpconfigRetArgs:
aucIP - ip address, aucSubnetMask - mask, aucDefaultGateway - default gateway address, aucDHCPServer - dhcp server address aucDNSServer - dns server address, uaMacAddr - mac address, uaSSID - connected AP ssid
Returns
none
Note
The function is useful for figuring out the IP Configuration of the device when DHCP is used and for figuring out the SSID of the Wireless network the device is associated with.
Examples:
mqtt_wifi_publisher.c, mqtt_wifi_subscriber.c, wifi_tcp_client.c, wifi_tcp_client_server.c, and wifi_tcp_server.c.
void netapp_ping_report ( )

Request for ping status. This API triggers the CC3000 to send asynchronous events: HCI_EVNT_WLAN_ASYNC_PING_REPORT. This event will carry the report structure: netapp_pingreport_args_t. This structure is filled in with ping results up till point of triggering API. netapp_pingreport_args_t:
packets_sent - echo sent, packets_received - echo reply, min_round_time - minimum round time, max_round_time - max round time, avg_round_time - average round time.

netapp_ping_report

Returns
none
Note
When a ping operation is not active, the returned structure fields are 0.
long netapp_ping_send ( unsigned long *  ip,
unsigned long  ulPingAttempts,
unsigned long  ulPingSize,
unsigned long  ulPingTimeout 
)

send ICMP ECHO_REQUEST to network hosts

netapp_ping_send

Parameters
ipdestination IP address
ulPingAttemptsnumber of echo requests to send
ulPingSizesend buffer size which may be up to 1400 bytes
ulPingTimeoutTime to wait for a response,in milliseconds.
Returns
return on success 0, otherwise error.
Note
If an operation finished successfully asynchronous ping report event will be generated. The report structure is as defined by structure netapp_pingreport_args_t.
Warning
Calling this function while a previous Ping Requests are in progress will stop the previous ping request.
long netapp_ping_stop ( )

Stop any ping request.

netapp_ping_stop

Returns
On success, zero is returned. On error, -1 is returned.
long netapp_set_debug_level ( unsigned long  ulLevel)

Debug messages sent via the UART debug channel, this function enable/disable the debug level.

netapp_set_debug_level

Parameters
[in]ulLeveldebug level. Bitwise [0-8], 0(disable)or 1(enable).
Bitwise map: 0 - Critical message, 1 information message, 2 - core messages, 3 - HCI messages, 4 - Network stack messages, 5 - wlan messages, 6 - wlan driver messages, 7 - epprom messages, 8 - general messages. Default: 0x13f. Saved: no
Returns
On success, zero is returned. On error, -1 is returned
long netapp_timeout_values ( unsigned long *  aucDHCP,
unsigned long *  aucARP,
unsigned long *  aucKeepalive,
unsigned long *  aucInactivity 
)

Set new timeout values. Function set new timeout values for: DHCP lease timeout, ARP refresh timeout, keepalive event timeout and socket inactivity timeout.

netapp_timeout_values

Parameters
aucDHCPDHCP lease time request, also impact the DHCP renew timeout. Range: [0-0xffffffff] seconds, 0 or 0xffffffff == infinity lease timeout. Resolution:10 seconds. Influence: only after reconnecting to the AP. Minimal bound value: MIN_TIMER_VAL_SECONDS - 20 seconds. The parameter is saved into the CC3000 NVMEM. The default value on CC3000 is 14400 seconds.
aucARPARP refresh timeout, if ARP entry is not updated by incoming packet, the ARP entry will be deleted by the end of the timeout. Range: [0-0xffffffff] seconds, 0 == infinity ARP timeout Resolution: 10 seconds. Influence: on runtime. Minimal bound value: MIN_TIMER_VAL_SECONDS - 20 seconds The parameter is saved into the CC3000 NVMEM. The default value on CC3000 is 3600 seconds.
aucKeepaliveKeepalive event sent by the end of keepalive timeout Range: [0-0xffffffff] seconds, 0 == infinity timeout Resolution: 10 seconds. Influence: on runtime. Minimal bound value: MIN_TIMER_VAL_SECONDS - 20 sec The parameter is saved into the CC3000 NVMEM. The default value on CC3000 is 10 seconds.
aucInactivitySocket inactivity timeout, socket timeout is refreshed by incoming or outgoing packet, by the end of the socket timeout the socket will be closed Range: [0-0xffffffff] sec, 0 == infinity timeout. Resolution: 10 seconds. Influence: on runtime. Minimal bound value: MIN_TIMER_VAL_SECONDS - 20 sec The parameter is saved into the CC3000 NVMEM. The default value on CC3000 is 60 seconds.
Returns
return on success 0, otherwise error.
Note
If a parameter set to non zero value which is less than 20s, it will be set automatically to 20s.
signed long nvmem_create_entry ( unsigned long  ulFileId,
unsigned long  ulNewLen 
)

Create new file entry and allocate space on the NVMEM. Applies only to user files. Modify the size of file. If the entry is unallocated - allocate it to size ulNewLen (marked invalid). If it is allocated then deallocate it first. To just mark the file as invalid without resizing - set ulNewLen=0.

nvmem_create_entry

Parameters
ulFileIdnvmem file Id:
  • NVMEM_AES128_KEY_FILEID: 12
  • NVMEM_SHARED_MEM_FILEID: 13
  • and fileIDs 14 and 15
ulNewLenentry ulLength
Returns
on success 0, error otherwise.
unsigned char nvmem_get_mac_address ( unsigned char *  mac)

Read MAC address from EEPROM. mac address as appears over the air (OUI first)

nvmem_get_mac_address

Parameters
[out]macmac address
Returns
on success 0, error otherwise.
signed long nvmem_read ( unsigned long  ulFileId,
unsigned long  ulLength,
unsigned long  ulOffset,
unsigned char *  buff 
)

Reads data from the file referred by the ulFileId parameter. Reads data from file ulOffset till length. Err if the file can't be used, is invalid, or if the read is out of bounds.

nvmem_read

Parameters
ulFileIdnvmem file id:
NVMEM_NVS_FILEID, NVMEM_NVS_SHADOW_FILEID, NVMEM_WLAN_CONFIG_FILEID, NVMEM_WLAN_CONFIG_SHADOW_FILEID, NVMEM_WLAN_DRIVER_SP_FILEID, NVMEM_WLAN_FW_SP_FILEID, NVMEM_MAC_FILEID, NVMEM_FRONTEND_VARS_FILEID, NVMEM_IP_CONFIG_FILEID, NVMEM_IP_CONFIG_SHADOW_FILEID, NVMEM_BOOTLOADER_SP_FILEID, NVMEM_RM_FILEID, and user files 12-15.
ulLengthnumber of bytes to read
ulOffsetulOffset in file from where to read
buffoutput buffer pointer
Returns
number of bytes read, otherwise error.
unsigned char nvmem_read_sp_version ( unsigned char *  patchVer)

Read patch version. read package version (WiFi FW patch, driver-supplicant-NS patch, bootloader patch)

nvmem_read_sp_version

Parameters
[out]patchVerfirst number indicates package ID and the second number indicates package build number
Returns
on success 0, error otherwise.
unsigned char nvmem_set_mac_address ( unsigned char *  mac)

Write MAC address to EEPROM. mac address as appears over the air (OUI first)

nvmem_set_mac_address

Parameters
macmac address to be set
Returns
on success 0, error otherwise.
signed long nvmem_write ( unsigned long  ulFileId,
unsigned long  ulLength,
unsigned long  ulEntryOffset,
unsigned char *  buff 
)

Write data to nvmem. writes data to file referred by the ulFileId parameter. Writes data to file ulOffset till ulLength.The file id will be marked invalid till the write is done. The file entry doesn't need to be valid - only allocated.

nvmem_write

Parameters
ulFileIdnvmem file id:
NVMEM_WLAN_DRIVER_SP_FILEID, NVMEM_WLAN_FW_SP_FILEID, NVMEM_MAC_FILEID, NVMEM_BOOTLOADER_SP_FILEID, and user files 12-15.
ulLengthnumber of bytes to write
ulEntryOffsetoffset in file to start write operation from
buffdata to write
Returns
on success 0, error otherwise.
unsigned char nvmem_write_patch ( unsigned long  ulFileId,
unsigned long  spLength,
const unsigned char *  spData 
)

program a patch to a specific file ID. The SP data is assumed to be organized in 2-dimensional. Each line is SP_PORTION_SIZE bytes long. Actual programming is applied in SP_PORTION_SIZE bytes portions.

nvmem_write_patch

Parameters
ulFileIdnvmem file id:
NVMEM_WLAN_DRIVER_SP_FILEID, NVMEM_WLAN_FW_SP_FILEID,
spLengthnumber of bytes to write
spDataSP data to write
Returns
on success 0, error otherwise.