Skip to content
Commits on Source (21)
......@@ -14,12 +14,6 @@ config ARCH_HAVE_LEDS
config HN70AP_HWDEBUG_BLINK
bool "Just Blink leds instead of starting NuttX"
config HN70AP_EEPROM
bool "Enable EEPROM (requires I2C3)"
config HN70AP_SPIFLASH
bool "Enable SPI FLASH (requires SPI2)"
config HN70AP_SCREEN
bool "Enable OLED screen (requires I2C3)"
......
......@@ -5,7 +5,7 @@
config HN70AP_CONFIG
bool "system configuration app"
default y
default n
---help---
The config app manages the system settings.
......
......@@ -77,7 +77,7 @@ int config_list(void)
else if(type == EECONFIG_TYPE_IP)
{
struct in_addr val;
ret = hn70ap_eeconfig_getip(name, &val);
ret = hn70ap_eeconfig_getip(name, &val.s_addr);
if(ret == OK)
{
printf("%s\n", inet_ntoa(val));
......
......@@ -37,7 +37,7 @@
#define HN70AP_LCD_H
int hn70ap_lcd_init(void);
int hn70ap_lcd_drawchar(int row, int col, char *ch);
int hn70ap_lcd_drawchar(int row, int col, char ch);
int hn70ap_lcd_drawstr(int row, int col, char *ch);
#endif
......@@ -42,9 +42,11 @@
#define HN70AP_RADIO_MAIN 1
#define HN70AP_RADIO_AUX 2
typedef int (*radiorxfunction_f)(uint8_t device, FAR void *arg, FAR uint8_t *data, int length);
int hn70ap_radio_init(void);
int hn70ap_radio_transmit(uint8_t device, uint8_t *buf, size_t len);
int hn70ap_radio_receive (uint8_t device, uint8_t *buf, size_t len);
int hn70ap_radio_rxfunction(uint8_t device, radiorxfunction_f rx, FAR void *arg, FAR uint8_t *userbuf, int userbuflen);
int hn70ap_radio_transmit(uint8_t device, FAR uint8_t *buf, size_t len);
#endif /* HN70AP_SYSTEM_H */
/****************************************************************************
* hn70ap/apps/export/tun.h
*
* Copyright (C) 2018 Sebastien Lorquet. All rights reserved.
* Author: Sebastien Lorquet <sebastien@lorquet.fr>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
#ifndef HN70AP_TUN_H
#define HN70AP_TUN_H
#include <stdint.h>
#include <stdbool.h>
#include <netinet/in.h>
#include <net/if.h>
typedef int (*tunrxfunction_f)(uint8_t tun, FAR void *arg, FAR uint8_t *data, int length);
int hn70ap_tun_init(void);
int hn70ap_tun_devinit(char ifname[IFNAMSIZ]);
int hn70ap_tun_addroute(int tunnel, in_addr_t destination, int maskbits);
int hn70ap_tun_rxfunction(int tunnel, tunrxfunction_f rx, FAR void *arg, FAR uint8_t *userbuf, int userbuflen);
int hn70ap_tun_transmit(int tunnel, FAR uint8_t *buf, size_t len);
#endif /* HN70AP_SYSTEM_H */
......@@ -5,4 +5,4 @@
config LIBHN70AP
bool "Common Library"
default y
default n
......@@ -37,6 +37,11 @@
ASRCS =
CSRCS = eeprom.c leds.c lcd.c timer.c system.c radio.c
ifeq ($(CONFIG_NET_TUN),y)
CSRCS += tun.c
endif
CSRCS += tlv.c crc.c sha256.c hdlc.c
CSRCS += update.c
......
......@@ -33,6 +33,19 @@
*
****************************************************************************/
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <nuttx/video/fb.h>
#include <nuttx/nx/nxglib.h>
#include <hn70ap/lcd.h>
//Manage the 128x64 LCD
//Using aligned character positions, we can write 8 lines of 16 chars
......@@ -304,8 +317,87 @@ unsigned char font[2048] =
* hn70ap_lcd_init
****************************************************************************/
struct fb_state_s
{
int fd;
struct fb_videoinfo_s vinfo;
struct fb_planeinfo_s pinfo;
FAR void *fbmem;
};
struct fb_state_s state;
int hn70ap_lcd_init(void)
{
int ret;
state.fd = open("/dev/fb0", O_RDWR);
if (state.fd < 0)
{
int errcode = errno;
fprintf(stderr, "ERROR: Failed to open /dev/fb0: %d\n", errcode);
return EXIT_FAILURE;
}
ret = ioctl(state.fd, FBIOGET_VIDEOINFO,
(unsigned long)((uintptr_t)&state.vinfo));
if (ret < 0)
{
int errcode = errno;
fprintf(stderr, "ERROR: ioctl(FBIOGET_VIDEOINFO) failed: %d\n",
errcode);
close(state.fd);
return EXIT_FAILURE;
}
ret = ioctl(state.fd, FBIOGET_PLANEINFO,
(unsigned long)((uintptr_t)&state.pinfo));
if (ret < 0)
{
int errcode = errno;
fprintf(stderr, "ERROR: ioctl(FBIOGET_PLANEINFO) failed: %d\n",
errcode);
close(state.fd);
return EXIT_FAILURE;
}
if (state.pinfo.bpp != 1)
{
fprintf(stderr, "ERROR: bpp=%u not supported\n", state.pinfo.bpp);
close(state.fd);
return EXIT_FAILURE;
}
state.fbmem = mmap(NULL, state.pinfo.fblen, PROT_READ|PROT_WRITE,
MAP_SHARED|MAP_FILE, state.fd, 0);
if (state.fbmem == MAP_FAILED)
{
int errcode = errno;
fprintf(stderr, "ERROR: ioctl(FBIOGET_PLANEINFO) failed: %d\n",
errcode);
close(state.fd);
return EXIT_FAILURE;
}
hn70ap_lcd_drawstr(0,0,"hn70ap!\r");
return 0;
}
/****************************************************************************
* hn70ap_lcd_drawchar
****************************************************************************/
static int hn70ap_lcd_drawchar_internal(int row, int col, char ch)
{
int i;
uint8_t *ptr = state.fbmem + (8 * row * state.pinfo.stride) + col;
for(i=0;i<8;i++)
{
*ptr = font [ch * 8 + i];
ptr += state.pinfo.stride;
}
return 0;
}
......@@ -315,6 +407,24 @@ int hn70ap_lcd_init(void)
int hn70ap_lcd_drawchar(int row, int col, char ch)
{
struct nxgl_rect_s rect;
int ret = hn70ap_lcd_drawchar_internal(row,col,ch);
#ifdef CONFIG_LCD_UPDATE
rect.pt1.x = col*8;
rect.pt1.y = row*8;
rect.pt2.x = rect.pt1.x + 8;
rect.pt2.y = rect.pt1.y + 8;
ret = ioctl(state.fd, FBIO_UPDATE, (unsigned long)((uintptr_t)&rect));
if (ret < 0)
{
int errcode = errno;
fprintf(stderr, "ERROR: ioctl(FBIO_UPDATE) failed: %d\n",
errcode);
}
#endif
return 0;
}
......@@ -324,9 +434,41 @@ int hn70ap_lcd_drawchar(int row, int col, char ch)
int hn70ap_lcd_drawstr(int row, int col, char *ch)
{
struct nxgl_rect_s rect;
int ret;
int cr = row;
int cc = col;
while(*ch)
{
if(*ch == '\r')
{
#ifdef CONFIG_LCD_UPDATE
rect.pt1.x = col*8;
rect.pt1.y = cr*8;
rect.pt2.x = (cc*8) + 8;
rect.pt2.y = rect.pt1.y + 8;
ret = ioctl(state.fd, FBIO_UPDATE, (unsigned long)((uintptr_t)&rect));
if (ret < 0)
{
fprintf(stderr, "ERROR: ioctl(FBIO_UPDATE) failed: %d\n", errno);
}
#endif
cc = col;
}
else if(*ch == '\n')
{
cr += 1;
}
else
{
hn70ap_lcd_drawchar_internal(cr,cc,*ch);
cc += 1;
}
ch++;
}
return 0;
}
......@@ -41,32 +41,49 @@
#include <fcntl.h>
#include <syslog.h>
#include <unistd.h>
#include <errno.h>
#include <pthread.h>
#include <hn70ap/radio.h>
#include <hn70ap/leds.h>
static int g_hn70ap_fdmainradio;
static int g_hn70ap_fdauxradio;
/* management variables for one radio */
struct radio_s
{
int devfd;
bool alive;
pthread_t rxthread;
/*data reception and calling back to the user*/
FAR uint8_t * userbuf;
int userbuflen;
radiorxfunction_f callback;
FAR void * arg;
};
static bool g_hn70ap_radioalive;
static pthread_t g_hn70ap_txthreadid;
static struct radio_s g_hn70ap_mainradio;
static struct radio_s g_hn70ap_auxradio;
/****************************************************************************
* hn70ap_radio_txthread
* This thread waits for radio transmit requests from other processes,
* and sends packets.
* hn70ap_radio_receive
****************************************************************************/
void *hn70ap_radio_txthread(void *arg)
static int hn70ap_radio_receive(struct radio_s *radio, uint8_t *buf, size_t len)
{
syslog(LOG_INFO, "Started radio RX thread\n");
while(g_hn70ap_radioalive)
{
//Wait for messages in transmit queue
//Transmit these messages
}
syslog(LOG_INFO, "Stopped radio RX thread\n");
int ret;
/* Turn on radio LED in receive mode */
hn70ap_leds_state(LED_1A, LED_STATE_OFF);
hn70ap_leds_state(LED_1B, LED_STATE_ON);
/* Receive */
ret = read(radio->devfd, buf, len);
/* Turn off radio LED */
hn70ap_leds_state(LED_1A, LED_STATE_OFF);
hn70ap_leds_state(LED_1B, LED_STATE_OFF);
return ret;
}
/****************************************************************************
......@@ -75,16 +92,16 @@ void *hn70ap_radio_txthread(void *arg)
int hn70ap_radio_transmit(uint8_t device, uint8_t *buf, size_t len)
{
int fd;
struct radio_s *radio;
int ret;
if(device == HN70AP_RADIO_MAIN)
{
fd = g_hn70ap_fdmainradio;
radio = &g_hn70ap_mainradio;
}
else if(device == HN70AP_RADIO_AUX)
{
fd = g_hn70ap_fdauxradio;
radio = &g_hn70ap_auxradio;
}
else
{
......@@ -96,7 +113,7 @@ int hn70ap_radio_transmit(uint8_t device, uint8_t *buf, size_t len)
hn70ap_leds_state(LED_1B, LED_STATE_OFF);
/* Transmit */
ret = write(fd, buf, len);
ret = write(radio->devfd, buf, len);
/* Turn off radio LED */
hn70ap_leds_state(LED_1A, LED_STATE_OFF);
......@@ -106,39 +123,95 @@ int hn70ap_radio_transmit(uint8_t device, uint8_t *buf, size_t len)
}
/****************************************************************************
* hn70ap_radio_receive
* hn70ap_radio_rxthread
* This thread waits for radio packets on the air, and sends them to processes.
****************************************************************************/
int hn70ap_radio_receive(uint8_t device, uint8_t *buf, size_t len)
void *hn70ap_radio_rxthread(void *arg)
{
int fd;
struct radio_s *radio = (struct radio_s*)arg;
syslog(LOG_INFO, "Started radio RX thread\n");
int ret;
while(radio->alive)
{
if(radio->callback)
{
//Wait for messages on the air
ret = hn70ap_radio_receive(radio, radio->userbuf, radio->userbuflen);
if(ret > 0)
{
//Dispatch them to the callback
radio->callback((radio==&g_hn70ap_mainradio)?HN70AP_RADIO_MAIN:HN70AP_RADIO_AUX, radio->arg, radio->userbuf, ret);
}
else
{
//syslog(LOG_ERR, "radio rx failed -> errno=%d\n", errno);
}
} //callback defined
else
{
pthread_yield();
}
} //radio alive
syslog(LOG_INFO, "Stopped radio RX thread\n");
return NULL;
}
/****************************************************************************
* hn70ap_radio_devinit
****************************************************************************/
int hn70ap_radio_devinit(struct radio_s *radio, const char *dev)
{
int ret = 0;
radio->devfd = open(dev, O_RDWR);
if(radio->devfd<0)
{
syslog(LOG_ERR, "Failed to access main radio!\n");
ret = -1;
goto lret;
}
radio->callback = NULL;
radio->alive = true;
ret = pthread_create(&radio->rxthread, NULL, hn70ap_radio_rxthread, radio);
if(ret < 0)
{
syslog(LOG_ERR, "Failed to start the receive thread\n");
}
lret:
return ret;
}
/****************************************************************************
* hn70ap_radio_rxfunction
****************************************************************************/
int hn70ap_radio_rxfunction(uint8_t device, radiorxfunction_f rx, FAR void *arg, FAR uint8_t *userbuf, int userbuflen)
{
struct radio_s *radio;
if(device == HN70AP_RADIO_MAIN)
{
fd = g_hn70ap_fdmainradio;
radio = &g_hn70ap_mainradio;
}
else if(device == HN70AP_RADIO_AUX)
{
fd = g_hn70ap_fdauxradio;
radio = &g_hn70ap_auxradio;
}
else
{
return ERROR;
}
/* Turn on radio LED in transmit mode */
hn70ap_leds_state(LED_1A, LED_STATE_OFF);
hn70ap_leds_state(LED_1B, LED_STATE_ON);
/* Transmit */
ret = read(fd, buf, len);
/* Turn off radio LED */
hn70ap_leds_state(LED_1A, LED_STATE_OFF);
hn70ap_leds_state(LED_1B, LED_STATE_OFF);
radio->userbuf = userbuf;
radio->userbuflen = userbuflen;
radio->arg = arg;
radio->callback = rx;
return ret;
return OK;
}
/****************************************************************************
......@@ -147,37 +220,17 @@ int hn70ap_radio_receive(uint8_t device, uint8_t *buf, size_t len)
int hn70ap_radio_init(void)
{
int ret = 0;
#ifdef CONFIG_HN70AP_MAINRADIO
syslog(LOG_INFO, "Checking main radio\n");
g_hn70ap_fdmainradio = open("/dev/rmain", O_RDWR);
if(g_hn70ap_fdmainradio<0)
{
syslog(LOG_ERR, "Failed to access main radio!\n");
ret = -1;
goto lret;
}
hn70ap_radio_devinit(&g_hn70ap_mainradio, "/dev/rmain");
#endif
#ifdef CONFIG_HN70AP_AUXRADIO
syslog(LOG_INFO, "Checking aux radio\n");
g_hn70ap_fdauxradio = open("/dev/raux", O_RDWR);
if(g_hn70ap_fdauxradio<0)
{
syslog(LOG_ERR, "Failed to access aux radio!\n");
ret = -1;
goto lret;
}
hn70ap_radio_devinit(&g_hn70ap_auxradio, "/dev/raux");
#endif
g_hn70ap_radioalive = true;
ret = pthread_create(&g_hn70ap_txthreadid, NULL, hn70ap_radio_txthread, NULL);
if(ret < 0)
{
syslog(LOG_ERR, "Failed to start the transmit thread\n");
}
lret:
return ret;
return OK;
}
......@@ -37,20 +37,27 @@
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <syslog.h>
#include <net/if.h>
#include <hn70ap/eeprom.h>
#include <hn70ap/timer.h>
#include <hn70ap/leds.h>
#include <hn70ap/lcd.h>
#include <hn70ap/radio.h>
#include <hn70ap/tun.h>
static bool hn70ap_system_initialized = false;
int hn70ap_system_init(void)
{
int ret;
int tunid = -1;
bool defaults;
char tunname[IFNAMSIZ];
if(hn70ap_system_initialized)
{
......@@ -90,13 +97,36 @@ int hn70ap_system_init(void)
syslog(LOG_ERR, "WARNING: Default config values loaded in EEPROM\n");
}
ret = hn70ap_lcd_init();
if(ret != OK)
{
syslog(LOG_ERR, "WARNING: Failed to initialize Screen\n");
}
#ifdef CONFIG_NET_TUN
ret = hn70ap_tun_init();
if(ret != 0)
{
syslog(LOG_ERR, "WARNING: Failed to initialize tunnels\n");
}
strncpy(tunname, "uhf0", IFNAMSIZ);
ret = hn70ap_tun_devinit(tunname);
if(ret < 0)
{
syslog(LOG_ERR, "WARNING: Failed to initialize TUN interface\n");
}
tunid = ret;
#endif
ret = hn70ap_radio_init();
if(ret != 0)
{
syslog(LOG_ERR, "FATAL: Failed to initialize Radios\n");
return ERROR;
syslog(LOG_ERR, "WARNING: Failed to initialize Radios\n");
}
// bind the tunnel and the aux radio
hn70ap_system_initialized = true;
return OK;
......
/****************************************************************************
* hn70ap/apps/libhn70ap/tun.c
*
* Copyright (C) 2018 Sebastien Lorquet. All rights reserved.
* Author: Sebastien Lorquet <sebastien@lorquet.fr>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
#include <nuttx/config.h>
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <pthread.h>
#include <syslog.h>
#include <sys/ioctl.h>
#include <nuttx/net/tun.h>
#include <hn70ap/tun.h>
struct iptunnel_s
{
int fd;
char ifname[IFNAMSIZ];
bool alive;
pthread_t rxthread;
/*data reception and calling back to the user*/
FAR uint8_t * userbuf;
int userbuflen;
tunrxfunction_f callback;
FAR void * arg;
};
struct iptunnel_s tunnels[2];
/****************************************************************************
* hn70ap_tun_rxthread
* This thread waits for packets from the tun interface, and sends them to processes.
****************************************************************************/
void *hn70ap_tun_rxthread(void *arg)
{
struct iptunnel_s *tunnel = (struct iptunnel_s*)arg;
syslog(LOG_INFO, "Started tun RX thread\n");
int ret;
while(tunnel->alive)
{
if(tunnel->callback)
{
//Wait for messages on the air
ret = read(tunnel->fd, tunnel->userbuf, tunnel->userbuflen);
if(ret > 0)
{
//Dispatch them to the callback
tunnel->callback((tunnel==tunnels)?0:1, tunnel->arg, tunnel->userbuf, ret);
}
else
{
//syslog(LOG_ERR, "tunnel rx failed -> errno=%d\n", errno);
}
} //callback defined
else
{
pthread_yield();
}
} //tunnel alive
syslog(LOG_INFO, "Stopped tunnel RX thread\n");
return NULL;
}
/****************************************************************************
* hn70ap_tun_transmit
****************************************************************************/
int hn70ap_tun_transmit(int tunnel, FAR uint8_t *buf, size_t len)
{
if(tunnel != 0 && tunnel != 1)
{
return -1;
}
return write(tunnels[tunnel].fd, buf, len);
}
/****************************************************************************
* hn70ap_tun_rxfunction
****************************************************************************/
int hn70ap_tun_rxfunction(int tunnel, tunrxfunction_f rx, FAR void *arg, FAR uint8_t *userbuf, int userbuflen)
{
if(tunnel != 0 && tunnel != 1)
{
return -1;
}
tunnels[tunnel].userbuf = userbuf;
tunnels[tunnel].userbuflen = userbuflen;
tunnels[tunnel].arg = arg;
tunnels[tunnel].callback = rx;
return OK;
}
/****************************************************************************
* hn70ap_tun_devinit
****************************************************************************/
int hn70ap_tun_devinit(char name[IFNAMSIZ])
{
struct ifreq ifr;
int errcode;
int fd;
int ret;
struct iptunnel_s *tunnel = &tunnels[0];
if(tunnel->fd != 0)
{
tunnel = &tunnels[1];
}
if(tunnel->fd != 0)
{
syslog(LOG_ERR, "No tunnel available");
return -1;
}
if ((fd = open("/dev/tun", O_RDWR)) < 0)
{
return fd;
}
memset(&ifr, 0, sizeof(ifr));
ifr.ifr_flags = IFF_TUN;
if (name[0])
{
strncpy(ifr.ifr_name, name, IFNAMSIZ);
}
errcode = ioctl(fd, TUNSETIFF, (unsigned long)&ifr);
if(errcode < 0)
{
close(fd);
return errcode;
}
tunnel->fd = fd;
strncpy(tunnel->ifname, ifr.ifr_name, IFNAMSIZ);
syslog(LOG_INFO, "Started interface: %s\n", tunnel->ifname);
//Start RX thread
tunnel->alive = true;
tunnel->callback = NULL;
ret = pthread_create(&tunnel->rxthread, NULL, hn70ap_tun_rxthread, tunnel);
if(ret < 0)
{
syslog(LOG_ERR, "Failed to start the receive thread\n");
}
return fd;
}
/****************************************************************************
* hn70ap_tun_addroute
****************************************************************************/
int hn70ap_tun_addroute(int tunnel, in_addr_t destination, int maskbits)
{
return ERROR;
}
/****************************************************************************
* hn70ap_tun_init
****************************************************************************/
int hn70ap_tun_init(void)
{
tunnels[0].fd = 0;
tunnels[1].fd = 0;
return 0;
}
......@@ -5,7 +5,7 @@
config HN70AP_RXT
bool "RX test"
default y
default n
---help---
Test Radio Reception.
......
......@@ -55,8 +55,22 @@
* Public Functions
****************************************************************************/
/****************************************************************************
* status_main
* rxt_callback
****************************************************************************/
int rxt_callback(uint8_t device, FAR void *arg, FAR uint8_t *data, int length)
{
int i;
for(i=0; i<length; i++)
{
printf("%c", (data[i]<0x20 && data[i]!=0x0a)?'.':data[i]);
}
return 0;
}
/****************************************************************************
* rxt_main
****************************************************************************/
#ifdef CONFIG_BUILD_KERNEL
......@@ -66,9 +80,7 @@ int rxt_main(int argc, char *argv[])
#endif
{
int ret = OK;
int fd;
int buflen = 1024;
int i;
uint8_t *buf;
......@@ -84,32 +96,13 @@ int rxt_main(int argc, char *argv[])
goto done;
}
do
{
ret = hn70ap_radio_receive(HN70AP_RADIO_AUX, buf, buflen);
//printf("read done, ret = %d, errno=%d\n", ret, errno);
if(ret > 0)
{
/* for(i=0; i<ret; i++)
{
printf("%02X ", buf[i]);
}
printf("\n");*/
for(i=0; i<ret; i++)
{
printf("%c", (buf[i]<0x20 && buf[i]!=0x0a)?'.':buf[i]);
}
}
else if(ret < 0 && errno==ETIMEDOUT)
{
printf("RX timeout\n");
// ret = 1;
// continue;
}
}
while(ret > 0);
hn70ap_radio_rxfunction(HN70AP_RADIO_AUX, rxt_callback, NULL, buf, buflen);
printf("type return to quit\n");
getchar();
printf("Read sequence done.\n");
printf("Stopping reception\n");
hn70ap_radio_rxfunction(HN70AP_RADIO_AUX, NULL, NULL, NULL, 0);
free(buf);
done:
......
......@@ -5,7 +5,7 @@
config HN70AP_SYSDAEMON
bool "system daemon"
default y
default n
---help---
The system daemon manages the ethernet link status, the oled screen, then starts nsh.
......
......@@ -47,6 +47,8 @@
#include <hn70ap/system.h>
#include <hn70ap/leds.h>
#include <hn70ap/eeprom.h>
#include <hn70ap/lcd.h>
#include <hn70ap/radio.h>
#include "sysdaemon_internal.h"
......@@ -72,10 +74,33 @@ void hn70ap_mount_storage(void)
printf("Mass Storage mounted at /data\n");
}
#endif
#ifdef CONFIG_FS_PROCFS
ret = mount(NULL, "/proc", "procfs", 0, NULL);
if (ret < 0)
{
fprintf(stderr, "Failed to mount /proc\n");
}
else
{
printf("Mounted /proc\n");
}
#endif
}
/****************************************************************************
* status_main
* sysdaemon_radiocallback
****************************************************************************/
uint8_t radiobuf[512];
int sysdaemon_radiocallback(uint8_t device, FAR void *arg, FAR uint8_t *data, int length)
{
printf("RADIORX len %d\n", length);
return OK;
}
/****************************************************************************
* sysdaemon_main
****************************************************************************/
#ifdef CONFIG_BUILD_KERNEL
......@@ -110,11 +135,14 @@ int sysdaemon_main(int argc, char *argv[])
printf("Hello %s, best 73's\n", call);
}
printf("TODO start screen management\n");
/* Try to open radio devices. */
ret = hn70ap_radio_rxfunction(HN70AP_RADIO_AUX, sysdaemon_radiocallback, NULL, radiobuf, sizeof(radiobuf));
if(ret == 0)
{
printf("aux radio cb installed ok\n");
}
#if defined(CONFIG_EXAMPLES_NSH)
#if defined(CONFIG_SYSTEM_NSH)
printf("*** Launching nsh\n");
nsh_main(argc, argv);
#endif
......
......@@ -192,6 +192,7 @@ static void* netmonitor_thread(void *arg)
struct timespec reltime;
struct ifreq ifr;
struct sigaction act;
struct sigaction oact;
bool devup;
int ret;
int sd;
......@@ -221,7 +222,7 @@ static void* netmonitor_thread(void *arg)
act.sa_sigaction = netmonitor_signal;
act.sa_flags = SA_SIGINFO;
ret = sigaction(SIGUSR2, &act, NULL);
ret = sigaction(SIGUSR2, &act, &oact);
if (ret < 0)
{
ret = -errno;
......@@ -394,7 +395,7 @@ static void* netmonitor_thread(void *arg)
errout_with_notification:
# warning Missing logic
errout_with_sigaction:
# warning Missing logic
(void)sigaction(SIGUSR2, &oact, NULL);
errout_with_socket:
close(sd);
errout:
......
......@@ -5,7 +5,7 @@
config HN70AP_TXT
bool "TX test"
default y
default n
---help---
Test Radio Transmission.
......
......@@ -6,10 +6,10 @@
#
# Build Setup
#
# CONFIG_EXPERIMENTAL is not set
CONFIG_EXPERIMENTAL=y
# CONFIG_DEFAULT_SMALL is not set
CONFIG_HOST_LINUX=y
# CONFIG_HOST_OSX is not set
# CONFIG_HOST_MACOS is not set
# CONFIG_HOST_WINDOWS is not set
# CONFIG_HOST_OTHER is not set
......@@ -76,10 +76,7 @@ CONFIG_DEBUG_ASSERTIONS=y
# Driver Debug Options
#
# CONFIG_DEBUG_LCD is not set
CONFIG_DEBUG_LEDS=y
CONFIG_DEBUG_LEDS_ERROR=y
CONFIG_DEBUG_LEDS_WARN=y
CONFIG_DEBUG_LEDS_INFO=y
# CONFIG_DEBUG_LEDS is not set
# CONFIG_DEBUG_GPIO is not set
# CONFIG_DEBUG_I2C is not set
# CONFIG_DEBUG_SPI is not set
......@@ -109,6 +106,7 @@ CONFIG_ARCH_ARM=y
# CONFIG_ARCH_XTENSA is not set
# CONFIG_ARCH_Z16 is not set
# CONFIG_ARCH_Z80 is not set
# CONFIG_ARCH_OR1K is not set
CONFIG_ARCH="arm"
#
......@@ -121,6 +119,7 @@ CONFIG_ARCH="arm"
# CONFIG_ARCH_CHIP_EFM32 is not set
# CONFIG_ARCH_CHIP_IMX1 is not set
# CONFIG_ARCH_CHIP_IMX6 is not set
# CONFIG_ARCH_CHIP_IMXRT is not set
# CONFIG_ARCH_CHIP_KINETIS is not set
# CONFIG_ARCH_CHIP_KL is not set
# CONFIG_ARCH_CHIP_LC823450 is not set
......@@ -133,6 +132,7 @@ CONFIG_ARCH="arm"
# CONFIG_ARCH_CHIP_LPC43XX is not set
# CONFIG_ARCH_CHIP_LPC54XX is not set
# CONFIG_ARCH_CHIP_MOXART is not set
# CONFIG_ARCH_CHIP_NRF52 is not set
# CONFIG_ARCH_CHIP_NUC1XX is not set
# CONFIG_ARCH_CHIP_SAMA5 is not set
# CONFIG_ARCH_CHIP_SAMD is not set
......@@ -142,6 +142,7 @@ CONFIG_ARCH="arm"
CONFIG_ARCH_CHIP_STM32=y
# CONFIG_ARCH_CHIP_STM32F0 is not set
# CONFIG_ARCH_CHIP_STM32F7 is not set
# CONFIG_ARCH_CHIP_STM32H7 is not set
# CONFIG_ARCH_CHIP_STM32L4 is not set
# CONFIG_ARCH_CHIP_STR71X is not set
# CONFIG_ARCH_CHIP_TMS570 is not set
......@@ -171,8 +172,7 @@ CONFIG_ARCH_CORTEXM4=y
CONFIG_ARCH_FAMILY="armv7-m"
CONFIG_ARCH_CHIP="stm32"
# CONFIG_ARMV7M_USEBASEPRI is not set
CONFIG_ARCH_HAVE_CMNVECTOR=y
# CONFIG_ARMV7M_CMNVECTOR is not set
CONFIG_ARCH_HAVE_LAZYFPU=y
# CONFIG_ARMV7M_LAZYFPU is not set
CONFIG_ARCH_HAVE_FPU=y
# CONFIG_ARCH_HAVE_DPFPU is not set
......@@ -307,7 +307,18 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
# CONFIG_ARCH_CHIP_STM32F373CC is not set
# CONFIG_ARCH_CHIP_STM32F373RC is not set
# CONFIG_ARCH_CHIP_STM32F373VC is not set
# CONFIG_ARCH_CHIP_STM32F401CB is not set
# CONFIG_ARCH_CHIP_STM32F401RB is not set
# CONFIG_ARCH_CHIP_STM32F401VB is not set
# CONFIG_ARCH_CHIP_STM32F401CC is not set
# CONFIG_ARCH_CHIP_STM32F401RC is not set
# CONFIG_ARCH_CHIP_STM32F401VC is not set
# CONFIG_ARCH_CHIP_STM32F401CD is not set
# CONFIG_ARCH_CHIP_STM32F401RD is not set
# CONFIG_ARCH_CHIP_STM32F401VD is not set
# CONFIG_ARCH_CHIP_STM32F401CE is not set
# CONFIG_ARCH_CHIP_STM32F401RE is not set
# CONFIG_ARCH_CHIP_STM32F401VE is not set
# CONFIG_ARCH_CHIP_STM32F410RB is not set
# CONFIG_ARCH_CHIP_STM32F411RE is not set
# CONFIG_ARCH_CHIP_STM32F411VE is not set
......@@ -320,11 +331,11 @@ CONFIG_ARMV7M_HAVE_STACKCHECK=y
# CONFIG_ARCH_CHIP_STM32F407ZG is not set
# CONFIG_ARCH_CHIP_STM32F407IE is not set
# CONFIG_ARCH_CHIP_STM32F407IG is not set
# CONFIG_ARCH_CHIP_STM32F427V is not set
CONFIG_ARCH_CHIP_STM32F427V=y
# CONFIG_ARCH_CHIP_STM32F427Z is not set
# CONFIG_ARCH_CHIP_STM32F427I is not set
# CONFIG_ARCH_CHIP_STM32F429V is not set
CONFIG_ARCH_CHIP_STM32F429Z=y
# CONFIG_ARCH_CHIP_STM32F429Z is not set
# CONFIG_ARCH_CHIP_STM32F429I is not set
# CONFIG_ARCH_CHIP_STM32F429B is not set
# CONFIG_ARCH_CHIP_STM32F429N is not set
......@@ -366,13 +377,15 @@ CONFIG_STM32_FLASH_CONFIG_DEFAULT=y
# CONFIG_STM32_STM32F33XX is not set
# CONFIG_STM32_STM32F37XX is not set
CONFIG_STM32_STM32F4XXX=y
# CONFIG_STM32_STM32F401xBC is not set
# CONFIG_STM32_STM32F401xDE is not set
# CONFIG_STM32_STM32F401 is not set
# CONFIG_STM32_STM32F410 is not set
# CONFIG_STM32_STM32F411 is not set
# CONFIG_STM32_STM32F405 is not set
# CONFIG_STM32_STM32F407 is not set
# CONFIG_STM32_STM32F427 is not set
CONFIG_STM32_STM32F429=y
CONFIG_STM32_STM32F427=y
# CONFIG_STM32_STM32F429 is not set
# CONFIG_STM32_STM32F446 is not set
# CONFIG_STM32_STM32F469 is not set
# CONFIG_STM32_DFU is not set
......@@ -385,7 +398,7 @@ CONFIG_STM32_HAVE_CCM=y
CONFIG_STM32_HAVE_OTGFS=y
CONFIG_STM32_HAVE_FSMC=y
# CONFIG_STM32_HAVE_HRTIM1 is not set
CONFIG_STM32_HAVE_LTDC=y
# CONFIG_STM32_HAVE_LTDC is not set
CONFIG_STM32_HAVE_USART3=y
CONFIG_STM32_HAVE_UART4=y
CONFIG_STM32_HAVE_UART5=y
......@@ -466,12 +479,10 @@ CONFIG_STM32_DMA2=y
CONFIG_STM32_ETHMAC=y
# CONFIG_STM32_FSMC is not set
# CONFIG_STM32_HASH is not set
# CONFIG_HRTIM is not set
# CONFIG_STM32_HRTIM is not set
# CONFIG_STM32_I2C1 is not set
# CONFIG_STM32_I2C2 is not set
CONFIG_STM32_I2C3=y
# CONFIG_STM32_LTDC is not set
# CONFIG_STM32_DMA2D is not set
# CONFIG_STM32_OPAMP is not set
# CONFIG_STM32_OTGFS is not set
# CONFIG_STM32_OTGHS is not set
......@@ -482,7 +493,7 @@ CONFIG_STM32_PWR=y
CONFIG_STM32_SPI2=y
# CONFIG_STM32_SPI3 is not set
# CONFIG_STM32_I2S3 is not set
# CONFIG_STM32_SPI4 is not set
CONFIG_STM32_SPI4=y
# CONFIG_STM32_SPI5 is not set
# CONFIG_STM32_SPI6 is not set
CONFIG_STM32_SYSCFG=y
......@@ -550,7 +561,11 @@ CONFIG_STM32_CCMEXCLUDE=y
# HRTIM Configuration
#
CONFIG_STM32_USART=y
# CONFIG_STM32_USART_RXDMA is not set
CONFIG_STM32_SERIALDRIVER=y
# CONFIG_STM32_1WIREDRIVER is not set
# CONFIG_STM32_HCIUART is not set
# CONFIG_STM32_HCIUART_RXDMA is not set
#
# U[S]ART Configuration
......@@ -567,10 +582,14 @@ CONFIG_STM32_UART4_SERIALDRIVER=y
#
# Serial Driver Configuration
#
# CONFIG_SERIAL_DISABLE_REORDERING is not set
# CONFIG_STM32_SERIAL_DISABLE_REORDERING is not set
# CONFIG_STM32_FLOWCONTROL_BROKEN is not set
# CONFIG_STM32_USART_BREAKS is not set
# CONFIG_STM32_USART_SINGLEWIRE is not set
#
# HCI UART Driver Configuration
#
# CONFIG_STM32_HCIUART_SW_RXFLOW is not set
#
# SPI Configuration
......@@ -696,7 +715,6 @@ CONFIG_RAM_SIZE=114688
#
# Board Selection
#
# CONFIG_ARCH_BOARD_STM32F429I_DISCO is not set
CONFIG_ARCH_BOARD_CUSTOM=y
#
......@@ -723,17 +741,15 @@ CONFIG_ARCH_LEDS=y
# ----- hn70ap board features -----
#
# CONFIG_HN70AP_HWDEBUG_BLINK is not set
CONFIG_HN70AP_EEPROM=y
CONFIG_HN70AP_SPIFLASH=y
CONFIG_HN70AP_SCREEN=y
CONFIG_HN70AP_ETHERNET=y
CONFIG_HN70AP_ETHERNET_EEMAC=y
# CONFIG_HN70AP_MAINRADIO is not set
# CONFIG_HN70AP_AUXRADIO is not set
# CONFIG_BOARD_CRASHDUMP is not set
CONFIG_LIB_BOARDCTL=y
CONFIG_BOARDCTL_RESET=y
# CONFIG_BOARDCTL_UNIQUEID is not set
# CONFIG_BOARDCTL_APP_SYMTAB is not set
# CONFIG_BOARDCTL_IOCTL is not set
#
......@@ -755,6 +771,7 @@ CONFIG_USEC_PER_TICK=10000
# CONFIG_SYSTEM_TIME64 is not set
# CONFIG_CLOCK_MONOTONIC is not set
CONFIG_ARCH_HAVE_TIMEKEEPING=y
# CONFIG_CLOCK_TIMEKEEPING is not set
# CONFIG_JULIAN_TIME is not set
CONFIG_START_YEAR=2011
CONFIG_START_MONTH=12
......@@ -793,6 +810,7 @@ CONFIG_PTHREAD_MUTEX_ROBUST=y
#
# Performance Monitoring
#
# CONFIG_SCHED_IRQMONITOR is not set
# CONFIG_SCHED_CPULOAD is not set
# CONFIG_SCHED_INSTRUMENTATION is not set
......@@ -881,6 +899,11 @@ CONFIG_I2C=y
# CONFIG_I2C_RESET is not set
# CONFIG_I2C_TRACE is not set
CONFIG_I2C_DRIVER=y
#
# I2C Multiplexer Support
#
# CONFIG_I2CMULTIPLEXER_PCA9540BDP is not set
# CONFIG_ARCH_HAVE_SPI_CRCGENERATION is not set
# CONFIG_ARCH_HAVE_SPI_CS_CONTROL is not set
CONFIG_ARCH_HAVE_SPI_BITORDER=y
......@@ -906,8 +929,12 @@ CONFIG_SPI_EXCHANGE=y
# CONFIG_TIMERS_CS2100CP is not set
# CONFIG_ANALOG is not set
# CONFIG_DRIVERS_AUDIO is not set
# CONFIG_FB_CMAP is not set
# CONFIG_FB_TRANSPARENCY is not set
CONFIG_DRIVERS_VIDEO=y
CONFIG_VIDEO_FB=y
# CONFIG_FB_SYNC is not set
# CONFIG_FB_OVERLAY is not set
# CONFIG_VIDEO_OV2640 is not set
# CONFIG_BCH is not set
# CONFIG_INPUT is not set
......@@ -943,13 +970,12 @@ CONFIG_LCD_MAXPOWER=1
# Graphic LCD Devices
#
# CONFIG_LCD_P14201 is not set
# CONFIG_LCD_NOKIA6100 is not set
# CONFIG_LCD_MAX7219 is not set
# CONFIG_LCD_MIO283QT2 is not set
# CONFIG_LCD_MIO283QT9A is not set
# CONFIG_LCD_UG9664HSWAG01 is not set
# CONFIG_LCD_SH1106_OLED_132 is not set
CONFIG_LCD_UG2864HSWEG01=y
CONFIG_LCD_SH1106_OLED_132=y
# CONFIG_LCD_UG2864HSWEG01 is not set
# CONFIG_LCD_UG2832HSWEG04 is not set
# CONFIG_LCD_DD12864WO4A is not set
# CONFIG_LCD_HILETGO is not set
......@@ -971,6 +997,7 @@ CONFIG_LCD_LANDSCAPE=y
# CONFIG_LCD_RLANDSCAPE is not set
# CONFIG_LCD_ILI9341 is not set
# CONFIG_LCD_RA8875 is not set
# CONFIG_LCD_FT80X is not set
# CONFIG_SLCD is not set
#
......@@ -991,6 +1018,7 @@ CONFIG_MTD=y
#
CONFIG_MTD_PARTITION=y
# CONFIG_MTD_SECT512 is not set
# CONFIG_MTD_PARTITION_NAMES is not set
# CONFIG_MTD_BYTE_WRITE is not set
# CONFIG_MTD_PROGMEM is not set
# CONFIG_MTD_CONFIG is not set
......@@ -1011,7 +1039,17 @@ CONFIG_MTD_PARTITION=y
# CONFIG_MTD_S25FL1 is not set
# CONFIG_MTD_N25QXXX is not set
# CONFIG_MTD_MX25RXX is not set
# CONFIG_MTD_SMART is not set
CONFIG_MTD_SMART=y
# CONFIG_SMART_DEV_LOOP is not set
CONFIG_MTD_SMART_SECTOR_SIZE=1024
CONFIG_MTD_SMART_WEAR_LEVEL=y
# CONFIG_MTD_SMART_CONVERT_WEAR_FORMAT is not set
# CONFIG_MTD_SMART_ENABLE_CRC is not set
CONFIG_MTD_SMART_MINIMIZE_RAM=y
CONFIG_MTD_SMART_SECTOR_CACHE_SIZE=32
CONFIG_MTD_SMART_SECTOR_PACK_COUNTS=y
# CONFIG_MTD_SMART_SECTOR_ERASE_DEBUG is not set
# CONFIG_MTD_SMART_ALLOC_DEBUG is not set
# CONFIG_MTD_RAMTRON is not set
# CONFIG_MTD_SST25 is not set
# CONFIG_MTD_SST25XX is not set
......@@ -1033,7 +1071,7 @@ CONFIG_NETDEVICES=y
#
# CONFIG_NETDEV_LOOPBACK is not set
# CONFIG_NETDEV_TELNET is not set
# CONFIG_ARCH_HAVE_NETDEV_STATISTICS is not set
CONFIG_ARCH_HAVE_NETDEV_STATISTICS=y
# CONFIG_NETDEV_LATEINIT is not set
# CONFIG_NET_DUMPPACKET is not set
......@@ -1079,6 +1117,7 @@ CONFIG_ETH1_PHY_NONE=y
# CONFIG_PM is not set
# CONFIG_DRIVERS_POWERLED is not set
# CONFIG_DRIVERS_SMPS is not set
# CONFIG_DRIVERS_MOTOR is not set
# CONFIG_POWER is not set
# CONFIG_SENSORS is not set
CONFIG_SERIAL=y
......@@ -1086,28 +1125,6 @@ CONFIG_SERIAL=y
# CONFIG_SERIAL_REMOVABLE is not set
CONFIG_SERIAL_CONSOLE=y
# CONFIG_16550_UART is not set
# CONFIG_UART_SERIALDRIVER is not set
# CONFIG_UART0_SERIALDRIVER is not set
# CONFIG_UART1_SERIALDRIVER is not set
# CONFIG_UART2_SERIALDRIVER is not set
# CONFIG_UART3_SERIALDRIVER is not set
CONFIG_UART4_SERIALDRIVER=y
# CONFIG_UART5_SERIALDRIVER is not set
# CONFIG_UART6_SERIALDRIVER is not set
# CONFIG_UART7_SERIALDRIVER is not set
# CONFIG_UART8_SERIALDRIVER is not set
# CONFIG_SCI0_SERIALDRIVER is not set
# CONFIG_SCI1_SERIALDRIVER is not set
# CONFIG_USART0_SERIALDRIVER is not set
# CONFIG_USART1_SERIALDRIVER is not set
# CONFIG_USART2_SERIALDRIVER is not set
# CONFIG_USART3_SERIALDRIVER is not set
# CONFIG_USART4_SERIALDRIVER is not set
# CONFIG_USART5_SERIALDRIVER is not set
# CONFIG_USART6_SERIALDRIVER is not set
# CONFIG_USART7_SERIALDRIVER is not set
# CONFIG_USART8_SERIALDRIVER is not set
# CONFIG_USART9_SERIALDRIVER is not set
# CONFIG_OTHER_UART_SERIALDRIVER is not set
CONFIG_MCU_SERIAL=y
CONFIG_STANDARD_SERIAL=y
......@@ -1121,6 +1138,16 @@ CONFIG_SERIAL_TERMIOS=y
CONFIG_UART4_SERIAL_CONSOLE=y
# CONFIG_OTHER_SERIAL_CONSOLE is not set
# CONFIG_NO_SERIAL_CONSOLE is not set
# CONFIG_UART_SERIALDRIVER is not set
# CONFIG_UART0_SERIALDRIVER is not set
# CONFIG_UART1_SERIALDRIVER is not set
# CONFIG_UART2_SERIALDRIVER is not set
# CONFIG_UART3_SERIALDRIVER is not set
CONFIG_UART4_SERIALDRIVER=y
# CONFIG_UART5_SERIALDRIVER is not set
# CONFIG_UART6_SERIALDRIVER is not set
# CONFIG_UART7_SERIALDRIVER is not set
# CONFIG_UART8_SERIALDRIVER is not set
#
# UART4 Configuration
......@@ -1134,6 +1161,28 @@ CONFIG_UART4_2STOP=0
# CONFIG_UART4_IFLOWCONTROL is not set
# CONFIG_UART4_OFLOWCONTROL is not set
# CONFIG_UART4_DMA is not set
# CONFIG_LPUART_SERIALDRIVER is not set
# CONFIG_LPUART0_SERIALDRIVER is not set
# CONFIG_LPUART1_SERIALDRIVER is not set
# CONFIG_LPUART2_SERIALDRIVER is not set
# CONFIG_LPUART3_SERIALDRIVER is not set
# CONFIG_LPUART4_SERIALDRIVER is not set
# CONFIG_LPUART5_SERIALDRIVER is not set
# CONFIG_LPUART6_SERIALDRIVER is not set
# CONFIG_LPUART7_SERIALDRIVER is not set
# CONFIG_LPUART8_SERIALDRIVER is not set
# CONFIG_USART0_SERIALDRIVER is not set
# CONFIG_USART1_SERIALDRIVER is not set
# CONFIG_USART2_SERIALDRIVER is not set
# CONFIG_USART3_SERIALDRIVER is not set
# CONFIG_USART4_SERIALDRIVER is not set
# CONFIG_USART5_SERIALDRIVER is not set
# CONFIG_USART6_SERIALDRIVER is not set
# CONFIG_USART7_SERIALDRIVER is not set
# CONFIG_USART8_SERIALDRIVER is not set
# CONFIG_USART9_SERIALDRIVER is not set
# CONFIG_SCI0_SERIALDRIVER is not set
# CONFIG_SCI1_SERIALDRIVER is not set
# CONFIG_PSEUDOTERM is not set
# CONFIG_USBDEV is not set
# CONFIG_USBHOST is not set
......@@ -1141,6 +1190,7 @@ CONFIG_UART4_2STOP=0
# CONFIG_HAVE_USBTRACE is not set
# CONFIG_DRIVERS_WIRELESS is not set
# CONFIG_DRIVERS_CONTACTLESS is not set
# CONFIG_1WIRE is not set
#
# System Logging
......@@ -1172,15 +1222,18 @@ CONFIG_NET=y
# Driver buffer configuration
#
CONFIG_NET_ETH_MTU=590
CONFIG_NET_ETH_TCP_RECVWNDO=536
CONFIG_NET_GUARDSIZE=2
#
# Link layer support
#
# CONFIG_NET_USER_DEVFMT is not set
CONFIG_NET_ETHERNET=y
# CONFIG_NET_LOOPBACK is not set
# CONFIG_NET_TUN is not set
CONFIG_NET_TUN=y
CONFIG_TUN_NINTERFACES=1
CONFIG_NET_TUN_MTU=296
CONFIG_TUN_HPWORK=y
# CONFIG_NET_USRSOCK is not set
#
......@@ -1188,11 +1241,13 @@ CONFIG_NET_ETHERNET=y
#
CONFIG_NETDEV_IOCTL=y
CONFIG_NETDEV_PHY_IOCTL=y
CONFIG_NETDEV_IFINDEX=y
#
# Internet Protocol Selection
#
CONFIG_NET_IPv4=y
# CONFIG_NET_IPv4_REASSEMBLY is not set
# CONFIG_NET_IPv6 is not set
# CONFIG_NET_IPFORWARD is not set
......@@ -1202,6 +1257,8 @@ CONFIG_NET_IPv4=y
CONFIG_NSOCKET_DESCRIPTORS=8
CONFIG_NET_NACTIVESOCKETS=16
CONFIG_NET_SOCKOPTS=y
# CONFIG_NET_TCPPROTO_OPTIONS is not set
CONFIG_NET_UDPPROTO_OPTIONS=y
# CONFIG_NET_SOLINGER is not set
#
......@@ -1219,6 +1276,7 @@ CONFIG_NET_SOCKOPTS=y
#
CONFIG_NET_TCP=y
# CONFIG_NET_TCP_NO_STACK is not set
# CONFIG_NET_TCP_KEEPALIVE is not set
# CONFIG_NET_TCPURGDATA is not set
CONFIG_NET_TCP_CONNS=8
CONFIG_NET_MAX_LISTENPORTS=20
......@@ -1234,12 +1292,17 @@ CONFIG_NET_TCP_RECVDELAY=0
#
CONFIG_NET_UDP=y
# CONFIG_NET_UDP_NO_STACK is not set
CONFIG_NET_UDP_BINDTODEVICE=y
CONFIG_NET_UDP_CHECKSUMS=y
CONFIG_NET_UDP_CONNS=8
CONFIG_NET_BROADCAST=y
# CONFIG_NET_UDP_READAHEAD is not set
# CONFIG_NET_UDP_WRITE_BUFFERS is not set
#
# Bluetooth socket support
#
#
# IEEE 802.15.4 socket support
#
......@@ -1278,7 +1341,11 @@ CONFIG_ARP_SEND_DELAYMSEC=20
#
# Routing Table Configuration
#
# CONFIG_NET_ROUTE is not set
CONFIG_NET_ROUTE=y
CONFIG_ROUTE_IPv4_RAMROUTE=y
# CONFIG_ROUTE_IPv4_ROMROUTE is not set
# CONFIG_ROUTE_IPv4_FILEROUTE is not set
CONFIG_ROUTE_MAX_IPv4_RAMROUTES=4
CONFIG_NET_HOSTNAME=""
#
......@@ -1297,8 +1364,8 @@ CONFIG_NET_HOSTNAME=""
# CONFIG_FS_AUTOMOUNTER is not set
# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set
# CONFIG_PSEUDOFS_SOFTLINKS is not set
# CONFIG_FS_READABLE is not set
# CONFIG_FS_WRITABLE is not set
CONFIG_FS_READABLE=y
CONFIG_FS_WRITABLE=y
# CONFIG_FS_NAMED_SEMAPHORES is not set
CONFIG_FS_MQUEUE_MPATH="/var/mqueue"
# CONFIG_FS_RAMMAP is not set
......@@ -1306,10 +1373,33 @@ CONFIG_FS_MQUEUE_MPATH="/var/mqueue"
# CONFIG_NFS is not set
# CONFIG_FS_NXFFS is not set
# CONFIG_FS_ROMFS is not set
# CONFIG_FS_CROMFS is not set
# CONFIG_FS_TMPFS is not set
# CONFIG_FS_SMARTFS is not set
CONFIG_FS_SMARTFS=y
CONFIG_SMARTFS_ERASEDSTATE=0xff
CONFIG_SMARTFS_MAXNAMLEN=16
# CONFIG_SMARTFS_MULTI_ROOT_DIRS is not set
# CONFIG_SMARTFS_ALIGNED_ACCESS is not set
# CONFIG_FS_BINFS is not set
# CONFIG_FS_PROCFS is not set
CONFIG_FS_PROCFS=y
# CONFIG_FS_PROCFS_REGISTER is not set
#
# Exclude individual procfs entries
#
# CONFIG_FS_PROCFS_EXCLUDE_PROCESS is not set
# CONFIG_FS_PROCFS_EXCLUDE_BLOCKS is not set
# CONFIG_FS_PROCFS_EXCLUDE_MOUNT is not set
# CONFIG_FS_PROCFS_EXCLUDE_USAGE is not set
# CONFIG_FS_PROCFS_EXCLUDE_UPTIME is not set
# CONFIG_FS_PROCFS_EXCLUDE_MEMINFO is not set
# CONFIG_FS_PROCFS_INCLUDE_PROGMEM is not set
# CONFIG_FS_PROCFS_EXCLUDE_MOUNTS is not set
# CONFIG_FS_PROCFS_EXCLUDE_NET is not set
# CONFIG_FS_PROCFS_EXCLUDE_MTD is not set
# CONFIG_FS_PROCFS_EXCLUDE_PARTITIONS is not set
# CONFIG_FS_PROCFS_EXCLUDE_ROUTE is not set
# CONFIG_FS_PROCFS_EXCLUDE_SMARTFS is not set
# CONFIG_FS_UNIONFS is not set
#
......@@ -1419,6 +1509,8 @@ CONFIG_ARCH_LOWPUTC=y
#
CONFIG_LIB_RAND_ORDER=1
CONFIG_LIB_HOMEDIR="/"
CONFIG_LIBC_TMPDIR="/tmp"
CONFIG_LIBC_MAX_TMPFILE=32
#
# Program Execution Options
......@@ -1441,6 +1533,7 @@ CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=2048
# CONFIG_LIBC_MODLIB is not set
# CONFIG_LIBC_WCHAR is not set
# CONFIG_LIBC_LOCALE is not set
# CONFIG_LIBC_LZF is not set
#
# Time/Time Zone Support
......@@ -1463,6 +1556,8 @@ CONFIG_LIBC_NETDB=y
#
# NETDB Support
#
# CONFIG_LIBC_GAISTRERROR is not set
# CONFIG_NETDB_HOSTFILE is not set
# CONFIG_NETDB_DNSCLIENT is not set
# CONFIG_LIBC_IOCTL_VARIADIC is not set
CONFIG_LIB_SENDFILE_BUFSIZE=512
......@@ -1481,6 +1576,11 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512
# CONFIG_C99_BOOL8 is not set
# CONFIG_HAVE_CXX is not set
#
# DSP Library
#
# CONFIG_LIBDSP is not set
#
# Application Configuration
#
......@@ -1495,9 +1595,16 @@ CONFIG_BUILTIN_PROXY_STACKSIZE=1024
#
# CONFIG_CANUTILS_CANDUMP is not set
#
# Cryptographic tools
#
# CONFIG_CRYPTO_CT is not set
# CONFIG_CRYPTO_LIBCRYPTO is not set
#
# Examples
#
# CONFIG_EXAMPLES_ADXL372_TEST is not set
# CONFIG_EXAMPLES_APA102 is not set
# CONFIG_EXAMPLES_BRIDGE is not set
# CONFIG_EXAMPLES_CCTYPE is not set
......@@ -1509,15 +1616,21 @@ CONFIG_EXAMPLES_FB=y
CONFIG_EXAMPLES_FB_DEFAULTFB="/dev/fb0"
CONFIG_EXAMPLES_FB_PRIORITY=100
CONFIG_EXAMPLES_FB_STACKSIZE=2048
# CONFIG_EXAMPLES_FLASH_TEST is not set
# CONFIG_EXAMPLES_FLOWC is not set
# CONFIG_EXAMPLES_FSTEST is not set
# CONFIG_EXAMPLES_FTPC is not set
# CONFIG_EXAMPLES_FTPD is not set
# CONFIG_EXAMPLES_GPS is not set
# CONFIG_EXAMPLES_HELLO is not set
# CONFIG_EXAMPLES_HIDKBD is not set
# CONFIG_EXAMPLES_IGMP is not set
# CONFIG_EXAMPLES_INA219 is not set
# CONFIG_EXAMPLES_IPFORWARD is not set
# CONFIG_EXAMPLES_JSON is not set
# CONFIG_EXAMPLES_LSM330SPI_TEST is not set
# CONFIG_EXAMPLES_LVGLDEMO is not set
# CONFIG_EXAMPLES_MAX31855 is not set
# CONFIG_EXAMPLES_MEDIA is not set
# CONFIG_EXAMPLES_MM is not set
# CONFIG_EXAMPLES_MODBUS is not set
......@@ -1526,6 +1639,7 @@ CONFIG_EXAMPLES_FB_STACKSIZE=2048
# CONFIG_EXAMPLES_NETTEST is not set
CONFIG_EXAMPLES_NSH=y
# CONFIG_EXAMPLES_NULL is not set
# CONFIG_EXAMPLES_NXDEMO is not set
# CONFIG_EXAMPLES_NXFFS is not set
# CONFIG_EXAMPLES_OBD2 is not set
# CONFIG_EXAMPLES_OSTEST is not set
......@@ -1541,6 +1655,7 @@ CONFIG_EXAMPLES_NSH=y
# CONFIG_EXAMPLES_SERIALBLASTER is not set
# CONFIG_EXAMPLES_SERIALRX is not set
# CONFIG_EXAMPLES_SERLOOP is not set
# CONFIG_EXAMPLES_SI5351 is not set
# CONFIG_EXAMPLES_SLCD is not set
# CONFIG_EXAMPLES_SMART is not set
# CONFIG_EXAMPLES_SMART_TEST is not set
......@@ -1564,6 +1679,8 @@ CONFIG_EXAMPLES_NSH=y
#
# CONFIG_FSUTILS_FLASH_ERASEALL is not set
# CONFIG_FSUTILS_INIFILE is not set
CONFIG_FSUTILS_MKSMARTFS=y
# CONFIG_FSUTILS_PASSWD is not set
#
# Generic Radio apps
......@@ -1592,13 +1709,16 @@ CONFIG_EXAMPLES_NSH=y
#
# hn70ap apps
#
# CONFIG_HN70AP_BEACON is not set
CONFIG_HN70AP_CONFIG=y
CONFIG_HN70AP_CONFIG_PRIORITY=100
CONFIG_HN70AP_CONFIG_STACKSIZE=2048
CONFIG_LIBHN70AP=y
# CONFIG_HN70AP_RXT is not set
CONFIG_HN70AP_SYSDAEMON=y
CONFIG_HN70AP_SYSDAEMON_PRIORITY=100
CONFIG_HN70AP_SYSDAEMON_STACKSIZE=2048
# CONFIG_HN70AP_TXT is not set
CONFIG_HN70AP_UPDATE=y
CONFIG_HN70AP_UPDATE_PRIORITY=100
CONFIG_HN70AP_UPDATE_STACKSIZE=2048
......@@ -1606,9 +1726,9 @@ CONFIG_HN70AP_UPDATE_STACKSIZE=2048
#
# Interpreters
#
# CONFIG_INTERPRETERS_BAS is not set
# CONFIG_INTERPRETERS_FICL is not set
# CONFIG_INTERPRETERS_LUA is not set
# CONFIG_INTERPRETERS_MICROPYTHON is not set
# CONFIG_INTERPRETERS_MINIBASIC is not set
# CONFIG_INTERPRETERS_PCODE is not set
......@@ -1635,7 +1755,7 @@ CONFIG_NETUTILS_NETLIB=y
# CONFIG_NETUTILS_SMTP is not set
# CONFIG_NETUTILS_TELNETC is not set
# CONFIG_NETUTILS_TELNETD is not set
# CONFIG_NETUTILS_TFTPC is not set
CONFIG_NETUTILS_TFTPC=y
# CONFIG_NETUTILS_WEBCLIENT is not set
# CONFIG_NETUTILS_WEBSERVER is not set
# CONFIG_NETUTILS_XMLRPC is not set
......@@ -1663,8 +1783,9 @@ CONFIG_NSH_BUILTIN_APPS=y
#
# Disable Individual commands
#
# CONFIG_NSH_DISABLE_ADDROUTE is not set
# CONFIG_NSH_DISABLE_ARP is not set
# CONFIG_NSH_DISABLE_BASENAME is not set
CONFIG_NSH_DISABLE_BASENAME=y
# CONFIG_NSH_DISABLE_CAT is not set
# CONFIG_NSH_DISABLE_CD is not set
# CONFIG_NSH_DISABLE_CP is not set
......@@ -1672,27 +1793,29 @@ CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_DISABLE_DATE=y
# CONFIG_NSH_DISABLE_DD is not set
# CONFIG_NSH_DISABLE_DF is not set
# CONFIG_NSH_DISABLE_DIRNAME is not set
# CONFIG_NSH_DISABLE_DELROUTE is not set
CONFIG_NSH_DISABLE_DIRNAME=y
# CONFIG_NSH_DISABLE_ECHO is not set
# CONFIG_NSH_DISABLE_EXEC is not set
CONFIG_NSH_DISABLE_EXEC=y
# CONFIG_NSH_DISABLE_EXIT is not set
# CONFIG_NSH_DISABLE_FREE is not set
# CONFIG_NSH_DISABLE_GET is not set
# CONFIG_NSH_DISABLE_HELP is not set
# CONFIG_NSH_DISABLE_HEXDUMP is not set
# CONFIG_NSH_DISABLE_IFCONFIG is not set
CONFIG_NSH_DISABLE_IFCONFIG=y
CONFIG_NSH_DISABLE_IFUPDOWN=y
# CONFIG_NSH_DISABLE_KILL is not set
# CONFIG_NSH_DISABLE_LOSETUP is not set
CONFIG_NSH_DISABLE_LOSETUP=y
CONFIG_NSH_DISABLE_LOSMART=y
# CONFIG_NSH_DISABLE_LS is not set
# CONFIG_NSH_DISABLE_MB is not set
CONFIG_NSH_DISABLE_MB=y
# CONFIG_NSH_DISABLE_MKDIR is not set
# CONFIG_NSH_DISABLE_MKRD is not set
# CONFIG_NSH_DISABLE_MH is not set
# CONFIG_NSH_DISABLE_MKSMARTFS is not set
CONFIG_NSH_DISABLE_MH=y
# CONFIG_NSH_DISABLE_MOUNT is not set
# CONFIG_NSH_DISABLE_MV is not set
# CONFIG_NSH_DISABLE_MW is not set
CONFIG_NSH_DISABLE_MV=y
CONFIG_NSH_DISABLE_MW=y
CONFIG_NSH_DISABLE_PRINTF=y
# CONFIG_NSH_DISABLE_PS is not set
# CONFIG_NSH_DISABLE_PUT is not set
......@@ -1700,20 +1823,21 @@ CONFIG_NSH_DISABLE_PRINTF=y
# CONFIG_NSH_DISABLE_REBOOT is not set
# CONFIG_NSH_DISABLE_RM is not set
# CONFIG_NSH_DISABLE_RMDIR is not set
# CONFIG_NSH_DISABLE_ROUTE is not set
# CONFIG_NSH_DISABLE_SET is not set
# CONFIG_NSH_DISABLE_SH is not set
CONFIG_NSH_DISABLE_SHUTDOWN=y
# CONFIG_NSH_DISABLE_SLEEP is not set
# CONFIG_NSH_DISABLE_TIME is not set
CONFIG_NSH_DISABLE_TIME=y
# CONFIG_NSH_DISABLE_TEST is not set
# CONFIG_NSH_DISABLE_TELNETD is not set
CONFIG_NSH_DISABLE_TELNETD=y
CONFIG_NSH_DISABLE_TRUNCATE=y
# CONFIG_NSH_DISABLE_UMOUNT is not set
# CONFIG_NSH_DISABLE_UNAME is not set
# CONFIG_NSH_DISABLE_UNSET is not set
# CONFIG_NSH_DISABLE_USLEEP is not set
# CONFIG_NSH_DISABLE_WGET is not set
# CONFIG_NSH_DISABLE_XD is not set
CONFIG_NSH_DISABLE_XD=y
CONFIG_NSH_MMCSDMINOR=0
#
......@@ -1722,6 +1846,7 @@ CONFIG_NSH_MMCSDMINOR=0
# CONFIG_NSH_CMDOPT_DD_STATS is not set
CONFIG_NSH_CODECS_BUFSIZE=128
CONFIG_NSH_CMDOPT_HEXDUMP=y
CONFIG_NSH_PROC_MOUNTPOINT="/proc"
CONFIG_NSH_FILEIOSIZE=512
#
......@@ -1754,6 +1879,7 @@ CONFIG_NSH_CONSOLE=y
# CONFIG_SYSTEM_CLE is not set
# CONFIG_SYSTEM_CUTERM is not set
# CONFIG_SYSTEM_DHCPC_RENEW is not set
# CONFIG_SYSTEM_EMBEDLOG is not set
# CONFIG_SYSTEM_FLASH_ERASEALL is not set
# CONFIG_SYSTEM_HEX2BIN is not set
# CONFIG_SYSTEM_HEXED is not set
......@@ -1787,10 +1913,20 @@ CONFIG_READLINE_ECHO=y
# CONFIG_SYSTEM_VI is not set
# CONFIG_SYSTEM_ZMODEM is not set
#
# Testing
#
# CONFIG_TESTING_UNITY is not set
#
# Wireless Libraries and NSH Add-Ons
#
#
# Bluetooth applications
#
# CONFIG_BTSAK is not set
#
# IEEE 802.15.4 applications
#
......
......@@ -702,8 +702,6 @@ CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y
# ----- hn70ap board features -----
#
# CONFIG_HN70AP_HWDEBUG_BLINK is not set
CONFIG_HN70AP_EEPROM=y
CONFIG_HN70AP_SPIFLASH=y
# CONFIG_HN70AP_SCREEN is not set
# CONFIG_HN70AP_ETHERNET is not set
CONFIG_HN70AP_RADIO=y
......