From dbd3903f1161251393ba74f9be4a10c65e881e8e Mon Sep 17 00:00:00 2001 From: Frank Voorburg Date: Tue, 22 Aug 2017 09:33:48 +0000 Subject: [PATCH] Refs #316. Added empty framework for the Kvaser Leaf Light v2 CAN interface. git-svn-id: https://svn.code.sf.net/p/openblt/code/trunk@351 5dc33758-31d5-4daf-9ae8-b24bf3d40d73 --- Host/Source/LibOpenBLT/candriver.c | 5 + .../port/windows/canif/kvaser/leaflight.c | 276 ++++++++++++++++++ .../port/windows/canif/kvaser/leaflight.h | 50 ++++ Host/libopenblt.dll | Bin 102400 -> 114688 bytes 4 files changed, 331 insertions(+) create mode 100644 Host/Source/LibOpenBLT/port/windows/canif/kvaser/leaflight.c create mode 100644 Host/Source/LibOpenBLT/port/windows/canif/kvaser/leaflight.h diff --git a/Host/Source/LibOpenBLT/candriver.c b/Host/Source/LibOpenBLT/candriver.c index c949cff2..39bef7dc 100644 --- a/Host/Source/LibOpenBLT/candriver.c +++ b/Host/Source/LibOpenBLT/candriver.c @@ -37,6 +37,7 @@ #include "candriver.h" /* Generic CAN driver module */ #if defined(PLATFORM_WIN32) #include "pcanusb.h" /* Peak PCAN-USB interface */ +#include "leaflight.h" /* Kvaser Leaf Light v2 interface */ #endif #if defined(PLATFORM_LINUX) #include "socketcan.h" /* SocketCAN interface */ @@ -84,6 +85,10 @@ void CanInit(tCanSettings const * settings) { canIfPtr = PCanUsbGetInterface(); } + else if (strcmp(settings->devicename, "kvaser_leaflight") == 0) + { + canIfPtr = LeafLightGetInterface(); + } #endif #if defined(PLATFORM_LINUX) /* On Linux, the device name is the name of the SocketCAN link, so always link diff --git a/Host/Source/LibOpenBLT/port/windows/canif/kvaser/leaflight.c b/Host/Source/LibOpenBLT/port/windows/canif/kvaser/leaflight.c new file mode 100644 index 00000000..26455d8c --- /dev/null +++ b/Host/Source/LibOpenBLT/port/windows/canif/kvaser/leaflight.c @@ -0,0 +1,276 @@ +/************************************************************************************//** +* \file leaflight.c +* \brief Kvaser Leaf Light v2 interface source file. +* \ingroup Kvaser_LeafLight +* \internal +*---------------------------------------------------------------------------------------- +* C O P Y R I G H T +*---------------------------------------------------------------------------------------- +* Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved +* +*---------------------------------------------------------------------------------------- +* L I C E N S E +*---------------------------------------------------------------------------------------- +* This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or +* modify it under the terms of the GNU General Public License as published by the Free +* Software Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +* PURPOSE. See the GNU General Public License for more details. +* +* You have received a copy of the GNU General Public License along with OpenBLT. It +* should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. +* +* \endinternal +****************************************************************************************/ + +/**************************************************************************************** +* Include files +****************************************************************************************/ +#include /* for assertions */ +#include /* for standard integer types */ +#include /* for NULL declaration */ +#include /* for boolean type */ +#include /* for standard library */ +#include /* for string library */ +#include "candriver.h" /* Generic CAN driver module */ +#include "leaflight.h" /* Kvaser Leaf Light v2 interface */ +#include /* for Windows API */ + + +/*************************************************************************************** +* Function prototypes +****************************************************************************************/ +/* CAN interface functions. */ +static void LeafLightInit(tCanSettings const * settings); +static void LeafLightTerminate(void); +static bool LeafLightConnect(void); +static void LeafLightDisconnect(void); +static bool LeafLightTransmit(tCanMsg const * msg); +static bool LeafLightIsBusError(void); +static void LeafLightRegisterEvents(tCanEvents const * events); + + +/**************************************************************************************** +* Local constant declarations +****************************************************************************************/ +/** \brief CAN interface structure filled with Kvaser Leaf Light v2 specifics. */ +static const tCanInterface leafLightInterface = +{ + LeafLightInit, + LeafLightTerminate, + LeafLightConnect, + LeafLightDisconnect, + LeafLightTransmit, + LeafLightIsBusError, + LeafLightRegisterEvents +}; + + +/**************************************************************************************** +* Local data declarations +****************************************************************************************/ +/** \brief The settings to use in this CAN interface. */ +static tCanSettings leafLightSettings; + +/** \brief List with callback functions that this driver should use. */ +static tCanEvents * leafLightEventsList; + +/** \brief Total number of event entries into the \ref leafLightEventsList list. */ +static uint32_t leafLightEventsEntries; + + +/***********************************************************************************//** +** \brief Obtains a pointer to the CAN interface structure, so that it can be linked +** to the generic CAN driver module. +** \return Pointer to CAN interface structure. +** +****************************************************************************************/ +tCanInterface const * LeafLightGetInterface(void) +{ + return &leafLightInterface; +} /*** end of LeafLightGetInterface ***/ + + +/************************************************************************************//** +** \brief Initializes the CAN interface. +** \param settings Pointer to the CAN interface settings. +** +****************************************************************************************/ +static void LeafLightInit(tCanSettings const * settings) +{ + char * canDeviceName; + + /* Initialize locals. */ + leafLightEventsList = NULL; + leafLightEventsEntries = 0; + /* Reset CAN interface settings. */ + leafLightSettings.devicename = ""; + leafLightSettings.channel = 0; + leafLightSettings.baudrate = CAN_BR500K; + leafLightSettings.code = 0x00000000u; + leafLightSettings.mask = 0x00000000u; + + /* Check parameters. */ + assert(settings != NULL); + + /* Only continue with valid parameters. */ + if (settings != NULL) /*lint !e774 */ + { + /* Shallow copy the CAN interface settings for later usage. */ + leafLightSettings = *settings; + /* The devicename is a pointer and it is not gauranteed that it stays valid so we need + * to deep copy this one. note the +1 for '\0' in malloc. + */ + assert(settings->devicename != NULL); + if (settings->devicename != NULL) /*lint !e774 */ + { + canDeviceName = malloc(strlen(settings->devicename) + 1); + assert(canDeviceName != NULL); + if (canDeviceName != NULL) /*lint !e774 */ + { + strcpy(canDeviceName, settings->devicename); + leafLightSettings.devicename = canDeviceName; + } + } + /* ##Vg TODO Perform initialization of Kvaser Leaf Light API. */ + } +} /*** end of LeafLightInit ***/ + + +/************************************************************************************//** +** \brief Terminates the CAN interface. +** +****************************************************************************************/ +static void LeafLightTerminate(void) +{ + /* ##Vg TODO Perform termination of Kvaser Leaf Light API. */ + /* Release memory that was allocated for storing the device name. */ + if (leafLightSettings.devicename != NULL) + { + free((char *)leafLightSettings.devicename); + } + /* Reset CAN interface settings. */ + leafLightSettings.devicename = ""; + leafLightSettings.channel = 0; + leafLightSettings.baudrate = CAN_BR500K; + leafLightSettings.code = 0x00000000u; + leafLightSettings.mask = 0x00000000u; + /* Release memory that was allocated for CAN events and reset the entry count. */ + if ( (leafLightEventsList != NULL) && (leafLightEventsEntries != 0) ) + { + free(leafLightEventsList); + leafLightEventsEntries = 0; + } +} /*** end of LeafLightTerminate ***/ + + +/************************************************************************************//** +** \brief Connects the CAN interface. +** \return True if connected, false otherwise. +** +****************************************************************************************/ +static bool LeafLightConnect(void) +{ + bool result = false; + + /* ##Vg TODO Process and verify settings, configure acceptance filter, connect. */ + + /* Give the result back to the caller. */ + return result; +} /*** end of LeafLightConnect ***/ + + +/************************************************************************************//** +** \brief Disconnects the CAN interface. +** +****************************************************************************************/ +static void LeafLightDisconnect(void) +{ + /* ##Vg TODO Disconnect. */ +} /*** end of LeafLightDisconnect ***/ + + +/************************************************************************************//** +** \brief Submits a message for transmission on the CAN bus. +** \param msg Pointer to CAN message structure. +** \return True if successful, false otherwise. +** +****************************************************************************************/ +static bool LeafLightTransmit(tCanMsg const * msg) +{ + bool result = false; + + /* Check parameters. */ + assert(msg != NULL); + + /* Only continue with valid parameters. */ + if (msg != NULL) /*lint !e774 */ + { + /* ##Vg TODO Transmit and trigger event(s). */ + } + /* Give the result back to the caller. */ + return result; +} /*** end of LeafLightTransmit ***/ + + +/************************************************************************************//** +** \brief Checks if a bus off or bus heavy situation occurred. +** \return True if a bus error situation was detected, false otherwise. +** +****************************************************************************************/ +static bool LeafLightIsBusError(void) +{ + bool result = false; + + /* ##Vg TODO Check and process status. */ + + /* Give the result back to the caller. */ + return result; +} /*** end of LeafLightIsBusError ***/ + + +/************************************************************************************//** +** \brief Registers the event callback functions that should be called by the CAN +** interface. +** \param events Pointer to structure with event callback function pointers. +** +****************************************************************************************/ +static void LeafLightRegisterEvents(tCanEvents const * events) +{ + /* Check parameters. */ + assert(events != NULL); + + /* Only continue with valid parameters. */ + if (events != NULL) /*lint !e774 */ + { + /* Increase length of the list to make space for one more event entry. Note that + * it is okay to call realloc with a NULL pointer. In this case it simply behaves + * as malloc. + */ + leafLightEventsList = realloc(leafLightEventsList, + (sizeof(tCanEvents) * (leafLightEventsEntries + 1))); + /* Assert reallocation. */ + assert(leafLightEventsList != NULL); + /* Only continue if reallocation was successful. */ + if (leafLightEventsList != NULL) + { + /* Increment events entry count. */ + leafLightEventsEntries++; + /* Store the events in the new entry. */ + leafLightEventsList[leafLightEventsEntries - 1] = *events; + } + /* Reallocation failed. */ + else + { + /* Reset events entry count. */ + leafLightEventsEntries = 0; + } + } +} /*** end of LeafLightRegisterEvents ***/ + + +/*********************************** end of leaflight.c ********************************/ + diff --git a/Host/Source/LibOpenBLT/port/windows/canif/kvaser/leaflight.h b/Host/Source/LibOpenBLT/port/windows/canif/kvaser/leaflight.h new file mode 100644 index 00000000..f2893524 --- /dev/null +++ b/Host/Source/LibOpenBLT/port/windows/canif/kvaser/leaflight.h @@ -0,0 +1,50 @@ +/************************************************************************************//** +* \file leaflight.h +* \brief Kvaser Leaf Light v2 interface header file. +* \ingroup Kvaser_LeafLight +* \internal +*---------------------------------------------------------------------------------------- +* C O P Y R I G H T +*---------------------------------------------------------------------------------------- +* Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved +* +*---------------------------------------------------------------------------------------- +* L I C E N S E +*---------------------------------------------------------------------------------------- +* This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or +* modify it under the terms of the GNU General Public License as published by the Free +* Software Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; +* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +* PURPOSE. See the GNU General Public License for more details. +* +* You have received a copy of the GNU General Public License along with OpenBLT. It +* should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. +* +* \endinternal +****************************************************************************************/ +/************************************************************************************//** +* \defgroup Kvaser_LeafLight Kvaser Leaf Light v2 interface +* \brief This module implements the CAN interface for the Kvaser Leaf Light v2. +* \ingroup CanDriver +****************************************************************************************/ +#ifndef LEAFLIGHT_H +#define LEAFLIGHT_H + +#ifdef __cplusplus +extern "C" { +#endif + +/*************************************************************************************** +* Function prototypes +****************************************************************************************/ +tCanInterface const * LeafLightGetInterface(void); + +#ifdef __cplusplus +} +#endif + +#endif /* LEAFLIGHT_H */ +/*********************************** end of leaflight.h ********************************/ diff --git a/Host/libopenblt.dll b/Host/libopenblt.dll index b7d60b1966b6b98c18f61ba7602c1fc3e5f09468..24447d90164a8f9bd49b6021461bb5c47364a060 100644 GIT binary patch literal 114688 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 delta 25939 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 G`TqjH!E62i