T_uezError Keypad_NXP_PCA9555_Create( const char *aName, const char *aI2CBusName, TUInt8 aI2CAddr, const char *aExternalInterruptsName, TUInt8 aExternalInterruptChannel) { T_Keypad_NXP_I2C_PCA9555_Workspace *p; T_uezDevice i2c; DEVICE_I2C_BUS **p_i2c; T_uezError error; UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&Keypad_NXP_PCA9555_Interface, 0, (T_uezDeviceWorkspace **)&p); error = UEZDeviceTableFind(aI2CBusName, &i2c); if (error) return error; UEZDeviceTableGetWorkspace(i2c, (T_uezDeviceWorkspace **)&p_i2c); error = Keypad_NXP_PCA9555_Configure(p, p_i2c, aI2CAddr, aExternalInterruptsName, aExternalInterruptChannel); return error; }
T_uezError Touchscreen_MC_AR1020_Create(const char *aName) { // Need to register touchscreen device return UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&Touchscreen_MC_AR1020_Interface, 0, 0); }
void AudioAmp_8551T_Create( const char *aName, T_uezGPIOPortPin aVolumeGPIO, T_uezGPIOPortPin aModeGPIO, T_uezGPIOPortPin aVolEnableGPIO, TInt8 aMaxLevel) { T_AudioAmp_8551T_Workspace *p; UEZDeviceTableRegister( aName, (T_uezDeviceInterface *)&AudioAmp_8551T_Interface, 0, (T_uezDeviceWorkspace **)&p); UEZGPIOLock(aVolumeGPIO); p->iVolumeGPIO = aVolumeGPIO; UEZGPIOLock(aModeGPIO); p->iModeGPIO = aModeGPIO; if (aVolEnableGPIO != GPIO_NONE) UEZGPIOLock(aVolEnableGPIO); p->iVolEnableGPIO = aVolEnableGPIO; if(aMaxLevel > HIGH_LEVEL){ p->iMaxLevel = HIGH_LEVEL; } else { p->iMaxLevel = aMaxLevel; } p->iMinLevel = 0; }
void EEPROM_NXP_LPC17xx_40xx_Create(const char *aName) { UEZDeviceTableRegister( aName, (T_uezDeviceInterface *)&EEPROM_NXP_LPC17xx_40xx_Interface, 0, 0); }
/*---------------------------------------------------------------------------* * Creation routines: *---------------------------------------------------------------------------*/ T_uezError ExternalInterrupt_Generic_Create(const char *aName) { T_uezDeviceWorkspace *p; // Initialize the DAC0 device return UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&ExternalInterrupt_NXP_LPC1756_Interface, 0, &p); }
/*---------------------------------------------------------------------------* * Creation routines: *---------------------------------------------------------------------------*/ T_uezError DAC_Generic_Create(const char *aName, const char *aHALName) { T_uezDeviceWorkspace *p_dac0; // Initialize the DAC0 device UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&DAC_Generic_Interface, 0, &p_dac0); return DAC_Generic_Configure(p_dac0, aHALName); }
/*---------------------------------------------------------------------------* * Routine: CRC_Generic_Create *---------------------------------------------------------------------------* * Description: * Create the CRC Device driver and link it to an existing CRC HAL Driver. * Inputs: * const char *aName -- Name of new CRC generic device driver * const char *aHALDriverName -- HAL Device driver name to link to * Outputs: * T_uezError -- Error code *---------------------------------------------------------------------------*/ T_uezError CRC_Generic_Create(const char *aName, const char *aHALDriverName) { T_CRC_Generic_Workspace *p; UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&CRC_Generic_Interface, 0, (T_uezDeviceWorkspace **)&p); return HALInterfaceFind(aHALDriverName, (T_halWorkspace **)&p->iCRC); }
/*---------------------------------------------------------------------------* * Routine: PWM_Generic_Create *---------------------------------------------------------------------------* * Description: * Setup a PWM device and connect to the given PWM HAL driver. * Inputs: * const char *aName -- Name of PWM driver to create * const char *aPWMHALName -- HAL driver to connect to * Outputs: * T_uezError -- Error code *---------------------------------------------------------------------------*/ T_uezError PWM_Generic_Create(const char *aName, const char *aPWMHALName) { T_uezDeviceWorkspace *p_pwm; UEZDeviceTableRegister( aName, (T_uezDeviceInterface *)&PWM_Generic_Interface, 0, &p_pwm); return PWM_Generic_Configure(p_pwm, aPWMHALName); }
void Network_lwIP_Create(const char *aName) { T_uezDeviceWorkspace *p_wired; UEZDeviceTableRegister( aName, (T_uezDeviceInterface *)&lwIP_Network_Interface, 0, (T_uezDeviceWorkspace **)&p_wired); Network_lwIP_Configure(p_wired); }
T_uezError RTC_Generic_Create(const char *aName, const char *aHALName) { HAL_RTC **p_rtchal; T_uezDeviceWorkspace *p_rtcdev; UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&RTC_Generic_Interface, 0, &p_rtcdev); HALInterfaceFind(aHALName, (T_halWorkspace **)&p_rtchal); RTC_Generic_Configure(p_rtcdev, (HAL_RTC **)p_rtchal); return UEZ_ERROR_NONE; }
/*---------------------------------------------------------------------------* * Routine: Flash_Renesas_RX63N_Configure *---------------------------------------------------------------------------* * Description: * Configure the flash chip's location * Inputs: * void *aW -- Workspace * void *aBaseAddr -- Base address of this chip in * processor memory map space *---------------------------------------------------------------------------*/ void Flash_Renesas_RX63N_Create(const char *aName) { T_uezDeviceWorkspace *p_DeviceWorkspace; T_Flash_Renesas_RX63N_Workspace *p_FlashWorkspace; // Setup the NOR flash UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&Flash_Renesas_RX63N_Interface, 0, &p_DeviceWorkspace); p_FlashWorkspace = (T_Flash_Renesas_RX63N_Workspace *)p_DeviceWorkspace; p_FlashWorkspace->iBaseAddr = (void *)RENESAS_FLASH_BASE_ADDR; //<<---- Made Changes here!//<<---- Undone }
T_uezError LED_Generic_GPIO_Configure_Create( const char *aName, const T_GenericLEDGPIODefinition *aDefinitionArray, TUInt8 aNumLEDs) { void *p; UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&LEDBank_Generic_GPIO_Interface, 0, (T_uezDeviceWorkspace **)&p); return LED_Generic_GPIO_Configure_DefineLEDs(p, aDefinitionArray, aNumLEDs); }
void USBHost_Generic_Create(const char *aName, const char *aHALUSBHostName) { T_halWorkspace *p_halUSBHost; T_uezDeviceWorkspace *p_usbhost; // Register the USB Host device driver UEZDeviceTableRegister( aName, (T_uezDeviceInterface *)&G_Generic_USBHost_Interface, 0, (T_uezDeviceWorkspace **)&p_usbhost); // Link the Generic USB host to the HAL USB host HALInterfaceFind(aHALUSBHostName, (T_halWorkspace **)&p_halUSBHost); Generic_USBHost_Configure(p_usbhost, (HAL_USBHost **)p_halUSBHost); }
void RTC_PCF8563_Create(const char *aName, const char *aI2CBusName) { T_uezDeviceWorkspace *p_rtcdev; T_uezDevice i2c; T_uezDeviceWorkspace *p_i2c; // Setup with exteranl RTC UEZDeviceTableRegister( aName, (T_uezDeviceInterface *)&RTC_NXP_PCF8563_Interface, 0, &p_rtcdev); UEZDeviceTableFind(aI2CBusName, &i2c); UEZDeviceTableGetWorkspace(i2c, &p_i2c); RTC_PCF8563_Configure(p_rtcdev, (DEVICE_I2C_BUS **)p_i2c); }
void Temp_NXP_SA56004X_Remote_Create( const char *aName, const char *aI2CBusName, TUInt8 aI2CAddr) { T_uezDeviceWorkspace *p_temp0; T_uezDevice i2c; T_uezDeviceWorkspace *p_i2c; // Setup the temperature 0 device UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&Temperature_NXP_SA56004X_Remote_Interface, 0, &p_temp0); UEZDeviceTableFind(aI2CBusName, &i2c); UEZDeviceTableGetWorkspace(i2c, (T_uezDeviceWorkspace **)&p_i2c); Temp_NXP_SA56004X_Configure(p_temp0, (DEVICE_I2C_BUS **)p_i2c, aI2CAddr); }
/*---------------------------------------------------------------------------* * Routine: ST_Accelo_LIS3LV02DQ_I2C_Create *---------------------------------------------------------------------------* * Description: * Create an accelerometer driver for the Freescale MMA7455. * Inputs: * const char *aName -- Name of this created driver * const char *aI2CBusName -- Name of I2C bus device driver used by this * accelerometer. * Outputs: * T_uezError -- Error code. *---------------------------------------------------------------------------*/ T_uezError ST_Accelo_LIS3LV02DQ_I2C_Create( const char *aName, const char *aI2CBusName) { T_uezDeviceWorkspace *p_accel; T_uezDevice i2c; T_uezDeviceWorkspace *p_i2c; // Setup the accelerator device UEZDeviceTableRegister( aName, (T_uezDeviceInterface *)&Accelerometer_ST_LIS3LV02DQ_via_I2C_Interface, 0, &p_accel); UEZDeviceTableFind(aI2CBusName, &i2c); UEZDeviceTableGetWorkspace(i2c, (T_uezDeviceWorkspace **)&p_i2c); return ST_Accelo_LIS3LV02DQ_Configure(p_accel, (DEVICE_I2C_BUS **)p_i2c); }
/*---------------------------------------------------------------------------* * Routine: Accelerometer_Freescale_MMA7455_I2C_Create *---------------------------------------------------------------------------* * Description: * Create an accelerometer driver for the Freescale MMA7455. * Inputs: * const char *aName -- Name of this created driver * const char *aI2CBusName -- Name of I2C bus device driver used by this * accelerometer. * TUInt8 aI2CAddr -- 7-bit address (lower 7 bits) of I2C address of * accelerometer. * Outputs: * T_uezError -- Error code. *---------------------------------------------------------------------------*/ T_uezError Accelerometer_Freescale_MMA7455_I2C_Create( const char *aName, const char *aI2CBusName, TUInt8 aI2CAddr) { T_uezDeviceWorkspace *p_accel; T_uezDevice i2c; T_uezDeviceWorkspace *p_i2c; // Setup the accelerator device UEZDeviceTableRegister( aName, (T_uezDeviceInterface *)&Accelerometer_Freescale_MMA7455_I2C_Interface, 0, &p_accel); UEZDeviceTableFind(aI2CBusName, &i2c); UEZDeviceTableGetWorkspace(i2c, (T_uezDeviceWorkspace **)&p_i2c); return Accelerometer_Freescale_MMA7455_I2C_Configure(p_accel, (DEVICE_I2C_BUS **)p_i2c, aI2CAddr); }
/*---------------------------------------------------------------------------* * Routine: *---------------------------------------------------------------------------* * Description: * Setup the I2C GPIO LEDs on EXPDK_I2C-A *---------------------------------------------------------------------------*/ void UEZGUI_EXP_DK_LED_Require(void) { T_uezDeviceWorkspace *p_led0; T_uezDevice i2c; T_uezDeviceWorkspace *p_i2c; DEVICE_CREATE_ONCE(); UEZGUI_EXP_DK_I2CMux_Require(); // In order to use this, it must use EXPDK_I2C-A provided by the I2C Mux UEZDeviceTableFind("EXPDK_I2C-A", &i2c); UEZDeviceTableGetWorkspace(i2c, (T_uezDeviceWorkspace **)&p_i2c); UEZDeviceTableRegister( "LEDBank0", (T_uezDeviceInterface *)&LEDBank_NXP_PCA9551_Interface, 0, &p_led0); LED_NXP_PCA9551_Configure(p_led0, (DEVICE_I2C_BUS **)p_i2c, 0xC0>>1); }
/*---------------------------------------------------------------------------* * Routine: Timer_Generic_Create *---------------------------------------------------------------------------* * Description: * Setup a Timer and link to the HAL equivalent * Inputs: * const char *aHALDriver -- Name of HAL driver to link to * Outputs: * T_uezError -- Error code *---------------------------------------------------------------------------*/ T_uezError Timer_Generic_Create(const char *aDeviceName, const char *aHALDriver) { T_uezError error; T_Timer_Generic_Workspace *p; // Create the timer device error = UEZDeviceTableRegister(aDeviceName, (T_uezDeviceInterface *)&Timer_Generic_Interface, 0, (T_uezDeviceWorkspace **)&p); if (error) return error; // Find the HAL and link to this device error = HALInterfaceFind(aHALDriver, (T_halWorkspace **)&p->iTimer); if (error) return error; return error; }
void AudioAmp_LM48110_Create( const char *aName, const char *aI2CBus, TUInt8 aMaxValue) { T_AudioAmp_LM48110_Workspace *p; UEZDeviceTableRegister( aName, (T_uezDeviceInterface *)&AudioAmp_LM48110_Interface, 0, (T_uezDeviceWorkspace **)&p); strcpy(p->iI2CBus, aI2CBus); if(aMaxValue < HIGH_LEVEL){ p->iMaxLevel = aMaxValue; } else { p->iMaxLevel = HIGH_LEVEL; } p->iMinLevel = 0; }
T_uezError RS485_Generic_Timer_Create( const char *aName, const T_RS485_Generic_Timer_Settings *aSettings) { T_uezDeviceWorkspace *p; HAL_Serial **p_serial; HAL_Timer **p_timer; UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&RS485_Generic_Timer_Stream_Interface, 0, &p); HALInterfaceFind(aSettings->iSerialName, (T_halWorkspace **)&p_serial); HALInterfaceFind(aSettings->iTimerName, (T_halWorkspace **)&p_timer); return RS485_Generic_Timer_Configure(p, p_serial, aSettings->iQueueSendSize, aSettings->iQueueReceiveSize, GPIO_TO_HAL_PORT(aSettings->iDriveEnable), GPIO_TO_PIN_BIT(aSettings->iDriveEnable), aSettings->iDriveEnablePolarity, GPIO_TO_HAL_PORT(aSettings->iReceiveEnable), GPIO_TO_PIN_BIT(aSettings->iReceiveEnable), aSettings->iReceiveEnablePolarity, p_timer, aSettings->iReleaseTime, aSettings->iDriveTime); }
/*---------------------------------------------------------------------------* * Routine: Serial_Generic_HalfDuplex_Stream_Create *---------------------------------------------------------------------------* * Description: * Create a full duplex serial stream to a HAL serial device and create * the read and write buffers. * Inputs: * const char *aName -- Name of this created driver * const char *aSerialHALName -- Name of low level Serial HAL driver * TUInt32 aWriteBufferSize -- Size of the write buffer size in bytes * TUInt32 aReadBufferSize -- Size of the read buffer size in bytes * Outputs: * T_uezError -- Error code. *---------------------------------------------------------------------------*/ T_uezError Serial_Generic_HalfDuplex_Stream_Create( const char *aName, const char *aSerialHALName, TUInt32 aWriteBufferSize, TUInt32 aReadBufferSize, T_uezGPIOPortPin aDriveEnablePortPin, TBool aDriveEnablePolarity, TUInt32 aDriveEnableReleaseTime) { T_halWorkspace *p_serialUART; T_uezDeviceWorkspace *p_serial; // Create serial stream device and link to HAL_Serial driver UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&Serial_GenericHalfDuplex_Stream_Interface, 0, &p_serial); HALInterfaceFind(aSerialHALName, (T_halWorkspace **)&p_serialUART); return Serial_GenericHalfDuplex_Configure(p_serial, (HAL_Serial **)p_serialUART, aWriteBufferSize, aReadBufferSize, UEZGPIOGetPort(aDriveEnablePortPin), 1 <<UEZ_GPIO_PIN_FROM_PORT_PIN(aDriveEnablePortPin), aDriveEnablePolarity, aDriveEnableReleaseTime); }
/*---------------------------------------------------------------------------* * Routine: ButtonBank_NXP_PCA9551_Create *---------------------------------------------------------------------------* * Description: * Create a PCA9551 Button Bank driver. * Inputs: * const char *aName -- Name of this created device driver * const char *aI2CBusName -- I2C Bus to use * TUInt8 aI2CAddr -- 7-bit I2C address of PCA9551 *---------------------------------------------------------------------------*/ T_uezError ButtonBank_NXP_PCA9551_Create( const char *aName, const char *aI2CBusName, TUInt8 aI2CAddr) { void *p; T_uezDevice i2c; DEVICE_I2C_BUS **p_i2c; T_uezError error; UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&ButtonBank_NXP_PCA9551_Interface, 0, (T_uezDeviceWorkspace **)&p); error = UEZDeviceTableFind(aI2CBusName, &i2c); if (error) return error; UEZDeviceTableGetWorkspace(i2c, (T_uezDeviceWorkspace **)&p_i2c); ButtonBank_NXP_PCA9551_Configure(p, p_i2c, aI2CAddr); return UEZ_ERROR_NONE; }
T_uezError Touchscreen_EXC7200_Create(const char *aName, const char *aI2CBus, T_uezGPIOPortPin aInteruptPin, T_uezGPIOPortPin aResetPin) { T_uezDevice device; T_uezDeviceWorkspace *workspace; T_EXC7200Workspace *p; // Need to register touchscreen device UEZDeviceTableRegister(aName, (T_uezDeviceInterface *)&Touchscreen_EXC7200_Interface, &device, &workspace); p = (T_EXC7200Workspace *)workspace; strcpy(p->iI2CBus, aI2CBus); p->iResetPin = aResetPin; p->iInteruptPin = aInteruptPin; TS_EXC7200_Configure((T_uezDeviceWorkspace*)p); return UEZ_ERROR_NONE; }