forked from xuos/xiuos
add APP_Framework/Framework/connection function
This commit is contained in:
parent
fba573cc0b
commit
86ef526303
|
@ -50,7 +50,7 @@ static int AppInitDesc(struct InitDesc sub_desc[])
|
||||||
|
|
||||||
static struct InitDesc framework[] =
|
static struct InitDesc framework[] =
|
||||||
{
|
{
|
||||||
#ifdef SENSOR_SENSORDEVICE
|
#ifdef SUPPORT_SENSOR_FRAMEWORK
|
||||||
{ "perception_framework", SensorFrameworkInit },
|
{ "perception_framework", SensorFrameworkInit },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ static int ConnectionFrameworkInit(struct InitDesc sub_desc[])
|
||||||
*/
|
*/
|
||||||
int FrameworkInit()
|
int FrameworkInit()
|
||||||
{
|
{
|
||||||
#ifdef SENSOR_SENSORDEVICE
|
#ifdef SUPPORT_SENSOR_FRAMEWORK
|
||||||
PerceptionFrameworkInit(framework);
|
PerceptionFrameworkInit(framework);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -17,5 +17,6 @@ config TRANSFORM_LAYER_ATTRIUBUTE
|
||||||
|
|
||||||
|
|
||||||
source "$APP_DIR/Framework/sensor/Kconfig"
|
source "$APP_DIR/Framework/sensor/Kconfig"
|
||||||
|
source "$APP_DIR/Framework/connection/Kconfig"
|
||||||
source "$APP_DIR/Framework/know/tflite_sin/Kconfig"
|
source "$APP_DIR/Framework/know/tflite_sin/Kconfig"
|
||||||
source "$APP_DIR/Framework/know/tflite_mnist/Kconfig"
|
source "$APP_DIR/Framework/know/tflite_mnist/Kconfig"
|
|
@ -1,8 +1,12 @@
|
||||||
SRC_DIR := transform_layer
|
SRC_DIR := transform_layer
|
||||||
|
|
||||||
ifeq ($(CONFIG_SENSOR_SENSORDEVICE),y)
|
ifeq ($(CONFIG_SUPPORT_SENSOR_FRAMEWORK),y)
|
||||||
SRC_DIR += sensor
|
SRC_DIR += sensor
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_SUPPORT_CONNECTION_FRAMEWORK),y)
|
||||||
|
SRC_DIR += connection
|
||||||
|
endif
|
||||||
|
|
||||||
include $(KERNEL_ROOT)/compiler.mk
|
include $(KERNEL_ROOT)/compiler.mk
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
menuconfig SUPPORT_CONNECTION_FRAMEWORK
|
||||||
|
bool "support connection framework"
|
||||||
|
default n
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <adapter.h>
|
#include <adapter.h>
|
||||||
|
|
||||||
static DoubleLinklistType adapter_list;
|
static DoublelistType adapter_list;
|
||||||
|
|
||||||
static int adapter_list_lock;
|
static int adapter_list_lock;
|
||||||
|
|
||||||
|
@ -30,9 +30,13 @@ static int adapter_list_lock;
|
||||||
*/
|
*/
|
||||||
int AdapterFrameworkInit(void)
|
int AdapterFrameworkInit(void)
|
||||||
{
|
{
|
||||||
InitDoubleLinkList(&adapter_list);
|
int ret = 0;
|
||||||
|
AppInitDoubleList(&adapter_list);
|
||||||
|
|
||||||
adapter_list_lock = KMutexCreate();
|
ret = PrivMutexCreate(&adapter_list_lock, 0);
|
||||||
|
if(ret < 0) {
|
||||||
|
printf("AdapterFrameworkInit mutex create failed.\n");
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -42,24 +46,24 @@ int AdapterFrameworkInit(void)
|
||||||
* @param name - name string
|
* @param name - name string
|
||||||
* @return adapter device pointer
|
* @return adapter device pointer
|
||||||
*/
|
*/
|
||||||
struct Adapter *AdapterDeviceFind(const char *name)
|
struct Adapter *AdapterDeviceFindByName(const char *name)
|
||||||
{
|
{
|
||||||
struct Adapter *ret = NULL;
|
struct Adapter *ret = NULL;
|
||||||
struct SysDoubleLinklistNode *node;
|
struct DoublelistNode *node;
|
||||||
|
|
||||||
if (name == NULL)
|
if (NULL == name)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
UserMutexObtain(adapter_list_lock, -1);
|
PrivMutexObtain(&adapter_list_lock);
|
||||||
DOUBLE_LINKLIST_FOR_EACH(node, &adapter_list) {
|
DOUBLE_LIST_FOR_EACH(node, &adapter_list) {
|
||||||
struct Adapter *adapter =CONTAINER_OF(node,
|
struct Adapter *adapter = CONTAINER_OF(node,
|
||||||
struct Adapter, link);
|
struct Adapter, link);
|
||||||
if (strncmp(adapter->name, name, NAME_NUM_MAX) == 0) {
|
if (0 == strncmp(adapter->name, name, NAME_NUM_MAX)) {
|
||||||
ret = adapter;
|
ret = adapter;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UserMutexAbandon(adapter_list_lock);
|
PrivMutexAbandon(&adapter_list_lock);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -71,17 +75,17 @@ struct Adapter *AdapterDeviceFind(const char *name)
|
||||||
*/
|
*/
|
||||||
int AdapterDeviceRegister(struct Adapter *adapter)
|
int AdapterDeviceRegister(struct Adapter *adapter)
|
||||||
{
|
{
|
||||||
if (adapter == NULL)
|
if (NULL == adapter )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (AdapterDeviceFindByName(adapter->name) != NULL) {
|
if (NULL != AdapterDeviceFindByName(adapter->name)) {
|
||||||
printf("%s: sensor with the same name already registered\n", __func__);
|
printf("%s: sensor with the same name already registered\n", __func__);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
UserMutexObtain(adapter_list_lock, -1);
|
PrivMutexObtain(&adapter_list_lock);
|
||||||
DoubleLinkListInsertNodeAfter(&adapter_list, &adapter->link);
|
AppDoubleListInsertNodeAfter(&adapter_list, &adapter->link);
|
||||||
UserMutexAbandon(adapter_list_lock);
|
PrivMutexAbandon(&adapter_list_lock);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -95,9 +99,9 @@ int AdapterDeviceUnregister(struct Adapter *adapter)
|
||||||
{
|
{
|
||||||
if (!adapter)
|
if (!adapter)
|
||||||
return -1;
|
return -1;
|
||||||
UserMutexObtain(adapter_list, -1);
|
PrivMutexObtain(&adapter_list_lock);
|
||||||
DoubleLinkListRmNode(&adapter->link);
|
AppDoubleListRmNode(&adapter->link);
|
||||||
UserMutexAbandon(adapter_list);
|
PrivMutexAbandon(&adapter_list_lock);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -121,11 +125,11 @@ int AdapterDeviceOpen(struct Adapter *adapter)
|
||||||
{
|
{
|
||||||
case PRIVATE_PROTOCOL:
|
case PRIVATE_PROTOCOL:
|
||||||
priv_done = (struct PrivProtocolDone *)adapter->done;
|
priv_done = (struct PrivProtocolDone *)adapter->done;
|
||||||
if (priv_done->open == NULL)
|
if (NULL == priv_done->open)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
result = priv_done->open(adapter);
|
result = priv_done->open(adapter);
|
||||||
if (result == 0) {
|
if (0 == result) {
|
||||||
printf("Device %s open success.\n", adapter->name);
|
printf("Device %s open success.\n", adapter->name);
|
||||||
}else{
|
}else{
|
||||||
if (adapter->fd) {
|
if (adapter->fd) {
|
||||||
|
@ -138,11 +142,11 @@ int AdapterDeviceOpen(struct Adapter *adapter)
|
||||||
|
|
||||||
case IP_PROTOCOL:
|
case IP_PROTOCOL:
|
||||||
ip_done = (struct IpProtocolDone *)adapter->done;
|
ip_done = (struct IpProtocolDone *)adapter->done;
|
||||||
if (ip_done->open == NULL)
|
if (NULL == ip_done->open)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
result = ip_done->open(adapter);
|
result = ip_done->open(adapter);
|
||||||
if (result == 0) {
|
if (0 == result) {
|
||||||
printf("Device %s open success.\n", adapter->name);
|
printf("Device %s open success.\n", adapter->name);
|
||||||
}else{
|
}else{
|
||||||
if (adapter->fd) {
|
if (adapter->fd) {
|
||||||
|
@ -179,11 +183,11 @@ int AdapterDeviceClose(struct Adapter *adapter)
|
||||||
{
|
{
|
||||||
case PRIVATE_PROTOCOL:
|
case PRIVATE_PROTOCOL:
|
||||||
priv_done = (struct PrivProtocolDone *)adapter->done;
|
priv_done = (struct PrivProtocolDone *)adapter->done;
|
||||||
if (priv_done->close == NULL)
|
if (NULL == priv_done->close)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
result = priv_done->close(adapter);
|
result = priv_done->close(adapter);
|
||||||
if (result == 0)
|
if (0 == result)
|
||||||
printf("%s successfully closed.\n", adapter->name);
|
printf("%s successfully closed.\n", adapter->name);
|
||||||
else
|
else
|
||||||
printf("Closed %s failure.\n", adapter->name);
|
printf("Closed %s failure.\n", adapter->name);
|
||||||
|
@ -192,11 +196,11 @@ int AdapterDeviceClose(struct Adapter *adapter)
|
||||||
|
|
||||||
case IP_PROTOCOL:
|
case IP_PROTOCOL:
|
||||||
ip_done = (struct IpProtocolDone *)adapter->done;
|
ip_done = (struct IpProtocolDone *)adapter->done;
|
||||||
if (ip_done->close == NULL)
|
if (NULL == ip_done->close)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
result = ip_done->close(adapter);
|
result = ip_done->close(adapter);
|
||||||
if (result == 0)
|
if (0 == result)
|
||||||
printf("%s successfully closed.\n", adapter->name);
|
printf("%s successfully closed.\n", adapter->name);
|
||||||
else
|
else
|
||||||
printf("Closed %s failure.\n", adapter->name);
|
printf("Closed %s failure.\n", adapter->name);
|
||||||
|
@ -221,10 +225,24 @@ ssize_t AdapterDeviceRead(struct Adapter *adapter, void *dst, size_t len)
|
||||||
if (!adapter)
|
if (!adapter)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (adapter->done->read == NULL)
|
if (PRIVATE_PROTOCOL == adapter->net_protocol) {
|
||||||
return -1;
|
struct PrivProtocolDone *priv_done = (struct PrivProtocolDone *)adapter->done;
|
||||||
|
|
||||||
|
if (NULL == priv_done->recv)
|
||||||
|
return -1;
|
||||||
|
|
||||||
return adapter->done->read(adapter, dst, len);
|
return priv_done->recv(adapter, dst, len);
|
||||||
|
} else if (IP_PROTOCOL == adapter->net_protocol) {
|
||||||
|
struct IpProtocolDone *ip_done = (struct IpProtocolDone *)adapter->done;
|
||||||
|
|
||||||
|
if (NULL == ip_done->recv)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return ip_done->recv(adapter->socket, dst, len);
|
||||||
|
} else {
|
||||||
|
printf("AdapterDeviceRead net_protocol %d not support\n", adapter->net_protocol);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -239,10 +257,24 @@ ssize_t AdapterDeviceWrite(struct Adapter *adapter, const void *src, size_t len)
|
||||||
if (!adapter)
|
if (!adapter)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (adapter->done->write == NULL)
|
if (PRIVATE_PROTOCOL == adapter->net_protocol) {
|
||||||
return -1;
|
struct PrivProtocolDone *priv_done = (struct PrivProtocolDone *)adapter->done;
|
||||||
|
|
||||||
|
if (NULL == priv_done->send)
|
||||||
|
return -1;
|
||||||
|
|
||||||
return adapter->done->write(adapter, src, len);
|
return priv_done->send(adapter, src, len);
|
||||||
|
} else if (IP_PROTOCOL == adapter->net_protocol) {
|
||||||
|
struct IpProtocolDone *ip_done = (struct IpProtocolDone *)adapter->done;
|
||||||
|
|
||||||
|
if (NULL == ip_done->send)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return ip_done->send(adapter->socket, src, len);
|
||||||
|
} else {
|
||||||
|
printf("AdapterDeviceWrite net_protocol %d not support\n", adapter->net_protocol);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -256,9 +288,23 @@ int AdapterDeviceControl(struct Adapter *adapter, int cmd, void *args)
|
||||||
{
|
{
|
||||||
if (!adapter)
|
if (!adapter)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (adapter->done->ioctl == NULL)
|
if (PRIVATE_PROTOCOL == adapter->net_protocol) {
|
||||||
return -1;
|
struct PrivProtocolDone *priv_done = (struct PrivProtocolDone *)adapter->done;
|
||||||
|
|
||||||
|
if (NULL == priv_done->ioctl)
|
||||||
|
return -1;
|
||||||
|
|
||||||
return adapter->done->ioctl(adapter, cmd, args);
|
return priv_done->ioctl(adapter, cmd, args);
|
||||||
|
} else if (IP_PROTOCOL == adapter->net_protocol) {
|
||||||
|
struct IpProtocolDone *ip_done = (struct IpProtocolDone *)adapter->done;
|
||||||
|
|
||||||
|
if (NULL == ip_done->ioctl)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return ip_done->ioctl(adapter, cmd, args);
|
||||||
|
} else {
|
||||||
|
printf("AdapterDeviceControl net_protocol %d not support\n", adapter->net_protocol);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
|
|
||||||
#include <list.h>
|
#include <list.h>
|
||||||
#include <transform.h>
|
#include <transform.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
@ -106,6 +108,7 @@ struct Adapter
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
struct AdapterProductInfo *info;
|
struct AdapterProductInfo *info;
|
||||||
|
struct Socket *socket;
|
||||||
|
|
||||||
enum NetProtocolType net_protocol;
|
enum NetProtocolType net_protocol;
|
||||||
enum NetRoleType net_role;
|
enum NetRoleType net_role;
|
||||||
|
@ -114,7 +117,7 @@ struct Adapter
|
||||||
|
|
||||||
void *done;
|
void *done;
|
||||||
|
|
||||||
struct SysDoubleLinklistNode link;
|
struct DoublelistNode link;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -1,8 +1,8 @@
|
||||||
menuconfig SENSOR_SENSORDEVICE
|
menuconfig SUPPORT_SENSOR_FRAMEWORK
|
||||||
bool "support sensor framework"
|
bool "support sensor framework"
|
||||||
default y
|
default y
|
||||||
|
|
||||||
if SENSOR_SENSORDEVICE
|
if SUPPORT_SENSOR_FRAMEWORK
|
||||||
menuconfig SENSOR_CO2
|
menuconfig SENSOR_CO2
|
||||||
bool "Using CO2 sensor device"
|
bool "Using CO2 sensor device"
|
||||||
default n
|
default n
|
||||||
|
|
|
@ -953,11 +953,7 @@ void *x_umalloc(x_size_t size)
|
||||||
lock = CriticalAreaLock();
|
lock = CriticalAreaLock();
|
||||||
/* alignment */
|
/* alignment */
|
||||||
size = ALIGN_MEN_UP(size, MEM_ALIGN_SIZE);
|
size = ALIGN_MEN_UP(size, MEM_ALIGN_SIZE);
|
||||||
<<<<<<< HEAD
|
|
||||||
ret = UserByteManager.dynamic_buddy_manager.done->malloc(&UserByteManager.dynamic_buddy_manager,size, DYNAMIC_BLOCK_NO_EXTMEM_MASK);
|
|
||||||
=======
|
|
||||||
ret = UserByteManager.dynamic_buddy_manager.done->malloc(&UserByteManager.dynamic_buddy_manager,size,DYNAMIC_BLOCK_NO_EXTMEM_MASK);
|
ret = UserByteManager.dynamic_buddy_manager.done->malloc(&UserByteManager.dynamic_buddy_manager,size,DYNAMIC_BLOCK_NO_EXTMEM_MASK);
|
||||||
>>>>>>> 0ddb5bfd1f2d80ec762bd2627d04c60da063e9fc
|
|
||||||
if(ret != NONE)
|
if(ret != NONE)
|
||||||
CHECK(UserByteManager.dynamic_buddy_manager.done->JudgeLegal(&UserByteManager.dynamic_buddy_manager, ret - SIZEOF_DYNAMICALLOCNODE_MEM));
|
CHECK(UserByteManager.dynamic_buddy_manager.done->JudgeLegal(&UserByteManager.dynamic_buddy_manager, ret - SIZEOF_DYNAMICALLOCNODE_MEM));
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,10 @@ APPPATHS += -I$(KERNEL_ROOT)/../../APP_Framework/Framework/transform_layer/xiuos
|
||||||
-I$(KERNEL_ROOT)/../../APP_Framework/Framework/transform_layer/xiuos/user_api/posix_support/include #
|
-I$(KERNEL_ROOT)/../../APP_Framework/Framework/transform_layer/xiuos/user_api/posix_support/include #
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_SUPPORT_CONNECTION_FRAMEWORK), y)
|
||||||
|
APPPATHS += -I$(KERNEL_ROOT)/../../APP_Framework/Framework/connection #
|
||||||
|
endif
|
||||||
|
|
||||||
COMPILE_APP:
|
COMPILE_APP:
|
||||||
@$(eval CPPPATHS=$(APPPATHS))
|
@$(eval CPPPATHS=$(APPPATHS))
|
||||||
@echo $(SRC_APP_DIR)
|
@echo $(SRC_APP_DIR)
|
||||||
|
|
|
@ -166,8 +166,8 @@ KERNELPATHS += -I$(KERNEL_ROOT)/../../APP_Framework/Framework/sensor #
|
||||||
KERNELPATHS += -I$(KERNEL_ROOT)/../../APP_Framework/Framework/transform_layer/xiuos #
|
KERNELPATHS += -I$(KERNEL_ROOT)/../../APP_Framework/Framework/transform_layer/xiuos #
|
||||||
KERNELPATHS += -I$(KERNEL_ROOT)/../../APP_Framework/Applications/general_functions/list #
|
KERNELPATHS += -I$(KERNEL_ROOT)/../../APP_Framework/Applications/general_functions/list #
|
||||||
|
|
||||||
ifeq ($(CONFIG_CONNECTION_ADAPTER), y)
|
ifeq ($(CONFIG_SUPPORT_CONNECTION_FRAMEWORK), y)
|
||||||
KERNELPATHS += -I$(KERNEL_ROOT)/framework/connection/Adapter/include #
|
KERNELPATHS += -I$(KERNEL_ROOT)/../../APP_Framework/Framework/connection #
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_CRYPTO), y)
|
ifeq ($(CONFIG_CRYPTO), y)
|
||||||
|
|
Loading…
Reference in New Issue