#include "Det.h"\r
#include "Cpu.h"\r
#include <string.h>\r
+#include "../kernel/core_cr4.h"\r
\r
-GIO_RegisterType *GPIO_ports[] = { GIO_PORTA_BASE, GIO_PORTB_BASE };\r
+GIO_RegisterType *GPIO_ports[] = { GIO_PORTA_BASE, GIO_PORTB_BASE, GIO_HET_PORT1_BASE };\r
\r
#define DIO_GET_PORT_FROM_CHANNEL_ID(_channelId) (_channelId >> 8)\r
#define DIO_GET_BIT_FROM_CHANNEL_ID(_channelId) (1 << (_channelId & 0x1F))\r
\r
-#if ( DIO_VERSION_INFO_API == STD_ON )\r
-static Std_VersionInfoType _Dio_VersionInfo =\r
-{\r
- .vendorID = (uint16)1,\r
- .moduleID = (uint16)1,\r
- .instanceID = (uint8)1,\r
- .sw_major_version = (uint8)DIO_SW_MAJOR_VERSION,\r
- .sw_minor_version = (uint8)DIO_SW_MINOR_VERSION,\r
- .sw_patch_version = (uint8)DIO_SW_PATCH_VERSION,\r
- .ar_major_version = (uint8)DIO_AR_MAJOR_VERSION,\r
- .ar_minor_version = (uint8)DIO_AR_MINOR_VERSION,\r
- .ar_patch_version = (uint8)DIO_AR_PATCH_VERSION,\r
-};\r
-#endif\r
-\r
#if ( DIO_DEV_ERROR_DETECT == STD_ON )\r
static int Channel_Config_Contains(Dio_ChannelType channelId)\r
{\r
\r
level = (uint8)GPIO_ports[portId]->DIN;\r
\r
- cleanup: return level;\r
+#if ( DIO_DEV_ERROR_DETECT == STD_ON )\r
+ cleanup:\r
+#endif\r
+ return level;\r
}\r
\r
void Dio_WritePort(Dio_PortType portId, Dio_PortLevelType level)\r
\r
GPIO_ports[portId]->DOUT = (uint32)level;\r
\r
- cleanup: return;\r
+#if ( DIO_DEV_ERROR_DETECT == STD_ON )\r
+ cleanup:\r
+#endif\r
+ return;\r
}\r
\r
Dio_LevelType Dio_ReadChannel(Dio_ChannelType channelId)\r
level = STD_LOW;\r
}\r
\r
- cleanup: return (level);\r
+#if ( DIO_DEV_ERROR_DETECT == STD_ON )\r
+ cleanup:\r
+#endif\r
+ return (level);\r
}\r
\r
void Dio_WriteChannel(Dio_ChannelType channelId, Dio_LevelType level)\r
VALIDATE_CHANNEL(channelId, DIO_WRITECHANNEL_ID);\r
\r
Dio_PortType port = DIO_GET_PORT_FROM_CHANNEL_ID(channelId);\r
- uint16 bit = DIO_GET_BIT_FROM_CHANNEL_ID(channelId);\r
+ uint32 bit = DIO_GET_BIT_FROM_CHANNEL_ID(channelId);\r
\r
if (!( GPIO_ports[port]->DIR & bit)) { // This is an input channel.\r
goto cleanup;\r
// Shift down\r
level = level >> channelGroupIdPtr->offset;\r
\r
- cleanup: return level;\r
+#if ( DIO_DEV_ERROR_DETECT == STD_ON )\r
+ cleanup:\r
+#endif\r
+ return level;\r
}\r
\r
void Dio_WriteChannelGroup(const Dio_ChannelGroupType *channelGroupIdPtr,\r
\r
Dio_WritePort(channelGroupIdPtr->port, portVal);\r
\r
- cleanup: return;\r
+#if ( DIO_DEV_ERROR_DETECT == STD_ON )\r
+ cleanup:\r
+#endif\r
+ return;\r
}\r
\r
\r