diff -r fe50ada8020b -r d2fc5d5f8a36 drivers/win32/drivers_win32.cpp --- a/drivers/win32/drivers_win32.cpp Fri Apr 06 16:49:28 2007 +0200 +++ b/drivers/win32/drivers_win32.cpp Sat Apr 07 09:49:05 2007 +0200 @@ -34,8 +34,6 @@ #include "canfestival.h" #include "timer.h" -#include "nvram_driver.h" -#include "lss_driver.h" #include "timers_driver.h" }; @@ -44,15 +42,6 @@ typedef void* (*CANOPEN_DRIVER_PROC)(s_BOARD *board); typedef int (*CANCLOSE_DRIVER_PROC)(void* inst); -typedef int (*NVRAM_OPEN_PROC)(void); -typedef void (*NVRAM_CLOSE_PROC)(void); -typedef char (*NVRAM_WRITE_PROC)(int type, int access_attr, void *data); -typedef char (*NVRAM_READ_PROC)(int type, int access_attr, void *data); - -typedef void (*LED_SET_REDGREEN_PROC)(CO_Data *d, unsigned char bits); - -typedef UNS8 (*BAUDRATE_VALID_PROC)(UNS32 table_index); -typedef void (*BAUDRATE_SET_PROC)(UNS8 table_index); class driver_procs { @@ -70,17 +59,6 @@ CANOPEN_DRIVER_PROC m_canOpen; CANCLOSE_DRIVER_PROC m_canClose; - // nvram driver - NVRAM_OPEN_PROC m_nvram_open; - NVRAM_CLOSE_PROC m_nvram_close; - NVRAM_WRITE_PROC m_nvram_write; - NVRAM_READ_PROC m_nvram_read; - // led driver - LED_SET_REDGREEN_PROC m_led_set_redgreen; - // lss driver - BAUDRATE_VALID_PROC m_baudrate_valid; - BAUDRATE_SET_PROC m_baudrate_set; - // driver module habndle HMODULE m_driver_handle; }; @@ -89,13 +67,6 @@ m_canSend(0), m_canOpen(0), m_canClose(0), - m_nvram_open(0), - m_nvram_close(0), - m_nvram_write(0), - m_nvram_read(0), - m_led_set_redgreen(), - m_baudrate_valid(0), - m_baudrate_set(0), m_driver_handle(0) {} @@ -132,17 +103,6 @@ m_canSend = (CANSEND_DRIVER_PROC)::GetProcAddress(m_driver_handle, myTEXT("canSend_driver")); m_canOpen = (CANOPEN_DRIVER_PROC)::GetProcAddress(m_driver_handle, myTEXT("canOpen_driver")); m_canClose = (CANCLOSE_DRIVER_PROC)::GetProcAddress(m_driver_handle, myTEXT("canClose_driver")); - - m_nvram_open = (NVRAM_OPEN_PROC)::GetProcAddress(m_driver_handle, myTEXT("nvram_open_driver")); - m_nvram_close = (NVRAM_CLOSE_PROC)::GetProcAddress(m_driver_handle, myTEXT("nvram_close_driver")); - m_nvram_write = (NVRAM_WRITE_PROC)::GetProcAddress(m_driver_handle, myTEXT("nvram_write_driver")); - m_nvram_read = (NVRAM_READ_PROC)::GetProcAddress(m_driver_handle, myTEXT("nvram_read_driver")); - - m_led_set_redgreen = (LED_SET_REDGREEN_PROC)::GetProcAddress(m_driver_handle, myTEXT("led_set_redgreen_driver")); - - m_baudrate_valid = (BAUDRATE_VALID_PROC)::GetProcAddress(m_driver_handle, myTEXT("baudrate_valid_driver")); - m_baudrate_set = (BAUDRATE_SET_PROC)::GetProcAddress(m_driver_handle, myTEXT("baudrate_set_driver")); - return can_driver_valid()?m_driver_handle:NULL; } @@ -233,68 +193,21 @@ /***************************************************************************/ int canClose(CO_Data * d) { - if (fd0 != NULL && s_driver_procs.m_canClose != NULL) - { - EnterMutex(); - driver_data* data = (driver_data*)d->canHandle; - d->canHandle = NULL; - LeaveMutex(); - data->continue_receive_thread = false; - WaitReceiveTaskEnd(&data->receive_thread); - (*s_driver_procs.m_canClose)(data->inst); - delete data; - return 0; + if (s_driver_procs.m_canClose != NULL) + { + driver_data* data; + EnterMutex(); + if(d->canHandle != NULL){ + data = (driver_data*)d->canHandle; + d->canHandle = NULL; + data->continue_receive_thread = false;} + LeaveMutex(); + WaitReceiveTaskEnd(&data->receive_thread); + (*s_driver_procs.m_canClose)(data->inst); + delete data; + return 0; } return 0; } -/***************************************************************************/ -int nvram_open(void) - { - if (s_driver_procs.m_nvram_read != NULL) - return (*s_driver_procs.m_nvram_open)(); - return -1; - } - -void nvram_close(void) - { - if (s_driver_procs.m_nvram_close != NULL) - (*s_driver_procs.m_nvram_close)(); - } - -char nvram_write(int type, int access_attr, void *data) - { - if (s_driver_procs.m_nvram_write != NULL) - return (*s_driver_procs.m_nvram_write)(type, access_attr, data); - return 0; - } - -char nvram_read(int type, int access_attr, void *data) - { - if (s_driver_procs.m_nvram_read != NULL) - return (*s_driver_procs.m_nvram_read)(type, access_attr, data); - return 0; - } - -/***************************************************************************/ - -void led_set_redgreen(CO_Data *d, unsigned char bits) - { - if (s_driver_procs.m_led_set_redgreen != NULL) - (*s_driver_procs.m_led_set_redgreen)(d, bits); - } - -/***************************************************************************/ - -UNS8 baudrate_valid(UNS32 table_index) - { - if (s_driver_procs.m_baudrate_valid != NULL) - return (*s_driver_procs.m_baudrate_valid)(table_index); - return 0; - } - -void baudrate_set(UNS8 table_index) - { - if (s_driver_procs.m_baudrate_set != NULL) - (*s_driver_procs.m_baudrate_set)(table_index); - } +