diff --git a/dist/sdvx/sdvxio-bio2.xml b/dist/sdvx/sdvxio-bio2.xml new file mode 100644 index 0000000..5028214 --- /dev/null +++ b/dist/sdvx/sdvxio-bio2.xml @@ -0,0 +1,6 @@ + + + 1 + COM4 + 115200 + \ No newline at end of file diff --git a/src/main/sdvxio-bio2/Module.mk b/src/main/sdvxio-bio2/Module.mk index 17a550d..8dd4a8e 100644 --- a/src/main/sdvxio-bio2/Module.mk +++ b/src/main/sdvxio-bio2/Module.mk @@ -2,14 +2,16 @@ dlls += sdvxio-bio2 ldflags_sdvxio-bio2 := \ -lsetupapi \ + -lws2_32 \ libs_sdvxio-bio2 := \ aciodrv \ bio2drv \ - cconfig \ util \ iface-core \ util \ + security \ + core \ src_sdvxio-bio2 := \ sdvxio.c \ diff --git a/src/main/sdvxio-bio2/sdvxio-bio2.def b/src/main/sdvxio-bio2/sdvxio-bio2.def index 71e237e..9d3ff88 100644 --- a/src/main/sdvxio-bio2/sdvxio-bio2.def +++ b/src/main/sdvxio-bio2/sdvxio-bio2.def @@ -2,7 +2,9 @@ LIBRARY sdvxio-bio2 EXPORTS ; Bemanitools 6 API + bt_module_core_config_api_set bt_module_core_log_api_set + bt_module_configure_do bt_module_io_sdvx_api_get ; Direct API diff --git a/src/main/sdvxio-bio2/sdvxio.c b/src/main/sdvxio-bio2/sdvxio.c index d11bb1d..2d422ea 100644 --- a/src/main/sdvxio-bio2/sdvxio.c +++ b/src/main/sdvxio-bio2/sdvxio.c @@ -6,10 +6,10 @@ #include #include +#include "api/core/config.h" #include "api/core/log.h" -#include "cconfig/cconfig-main.h" - +#include "iface-core/config.h" #include "iface-core/log.h" #include "sdk/module/core/log.h" @@ -17,9 +17,16 @@ #include "aciodrv/device.h" #include "bio2drv/bi2a-sdvx.h" -#include "bio2drv/config-bio2.h" +#include "bio2drv/config.h" #include "bio2drv/detect.h" +#include "sdk/module/core/config.h" +#include "sdk/module/configure.h" +#include "sdk/module/core/log.h" +#include "sdk/module/io/sdvx.h" + +static bio2drv_config_t _sdvxio_bio2_config; + static uint16_t sdvx_io_gpio[2]; static uint8_t sdvx_io_gpio_sys; static uint16_t sdvx_io_analog[2]; @@ -38,32 +45,9 @@ static struct aciodrv_device_ctx *bio2_device_ctx; bool bt_io_sdvx_init() { - struct cconfig *config; - struct bio2drv_config_bio2 config_bio2; + const char *selected_port = _sdvxio_bio2_config.port; - config = cconfig_init(); - - bio2drv_config_bio2_init(config); - - if (!cconfig_main_config_init( - config, - "--bio2-config", - "sdvxio-bio2.conf", - "--help", - "-h", - "sdvxio-bio2", - CCONFIG_CMD_USAGE_OUT_STDOUT)) { - cconfig_finit(config); - exit(EXIT_FAILURE); - } - - bio2drv_config_bio2_get(&config_bio2, config); - - cconfig_finit(config); - - const char *selected_port = config_bio2.port; - - if (config_bio2.autodetect) { + if (_sdvxio_bio2_config.autodetect) { log_info("Attempting autodetect"); if (bio2drv_detect( @@ -78,7 +62,7 @@ bool bt_io_sdvx_init() } // BIO2's cannot share a bus with anything else, so use device directly - bio2_device_ctx = aciodrv_device_open_path(selected_port, config_bio2.baud); + bio2_device_ctx = aciodrv_device_open_path(selected_port, _sdvxio_bio2_config.baud); if (bio2_device_ctx == NULL) { log_info("Opening BIO2 device on [%s] failed", selected_port); @@ -325,11 +309,23 @@ bool bt_io_sdvx_amp_volume_set( return true; } +void bt_module_core_config_api_set(const bt_core_config_api_t *api) +{ + bt_core_config_api_set(api); +} + void bt_module_core_log_api_set(const bt_core_log_api_t *api) { bt_core_log_api_set(api); } +bool bt_module_configure_do(const bt_core_config_t *config) +{ + bio2drv_config_bio2_get(config, &_sdvxio_bio2_config); + + return true; +} + void bt_module_io_sdvx_api_get(bt_io_sdvx_api_t *api) { api->version = 1;