{{{ #!html
SPI Handler Driver
}}} [[BR]] = 概要 = * API一覧 ||= API =||= ID[[BR]][Dec] =||= ID[[BR]][Hex] =||= R4.0.3 =||= R4.2.2 =|| || [#Spi_Init Spi_Init] || 0|| 0x00|| ○ || ○ || || [#Spi_DeInit Spi_DeInit] || 1|| 0x01|| ○ || ○ || || [#Spi_WriteIB Spi_WriteIB] || 2|| 0x02|| ○ || ○ || || [#Spi_AsyncTransmit Spi_AsyncTransmit] || 3|| 0x03|| ○ || ○ || || [#Spi_ReadIB Spi_ReadIB] || 4|| 0x04|| ○ || ○ || || [#Spi_SetupEB Spi_SetupEB] || 5|| 0x05|| ○ || ○ || || [#Spi_GetStatus Spi_GetStatus] || 6|| 0x06|| ○ || ○ || || [#Spi_GetJobResult Spi_GetJobResult] || 7|| 0x07|| ○ || ○ || || [#Spi_GetSequenceResult Spi_GetSequenceResult] || 8|| 0x08|| ○ || ○ || || [#Spi_GetVersionInfo Spi_GetVersionInfo] || 9|| 0x09|| ○ || ○ || || [#Spi_SyncTransmit Spi_SyncTransmit] || 10|| 0x0A|| ○ || ○ || || [#Spi_GetHWUnitStatus Spi_GetHWUnitStatus] || 11|| 0x0B|| ○ || ○ || || [#Spi_Cancel Spi_Cancel] || 12|| 0x0C|| ○ || ○ || || [#Spi_SetAsyncMode Spi_SetAsyncMode] || 13|| 0x0D|| ○ || ○ || || [#Spi_MainFunction_Handling Spi_MainFunction_Handling] || 16|| 0x10|| ○ || ○ || || [#Spi_JobEndNotification Spi_JobEndNotification] || --|| --|| ○ || ○ || || [#Spi_SeqEndNotification Spi_SeqEndNotification] || --|| --|| ○ || ○ || * コンフィギュレーション一覧(R4.0.3 / R4.2.2) * [#SpiDemEventParameterRefs SpiDemEventParameterRefs] (-/○) * [#SPI_E_HARDWARE_ERROR SPI_E_HARDWARE_ERROR] (-/○) * [#SpiDriver SpiDriver] (○/○) * [#SpiMaxChannel SpiMaxChannel] (○/○) * [#SpiMaxJob SpiMaxJob] (○/○) * [#SpiMaxSequence SpiMaxSequence] (○/○) * [#SpiChannel SpiChannel] (○/○) * [#SpiChannelId SpiChannelId] (○/○) * [#SpiChannelType SpiChannelType] (○/○) * [#SpiDataWidth SpiDataWidth] (○/○) * [#SpiDefaultData SpiDefaultData] (○/○) * [#SpiEbMaxLength SpiEbMaxLength] (○/○) * [#SpiIbNBuffers SpiIbNBuffers] (○/○) * [#SpiTransferStart SpiTransferStart] (○/○) * [#SpiDemEventParameterRefs2 SpiDemEventParameterRefs] (○/-) * [#SPI_E_HARDWARE_ERROR2 SPI_E_HARDWARE_ERROR] (○/-) * [#SpiExternalDevice SpiExternalDevice] (○/○) * [#SpiBaudrate SpiBaudrate] (○/○) * [#SpiCsIdentifier SpiCsIdentifier] (○/○) * [#SpiCsPolarity SpiCsPolarity] (○/○) * [#SpiCsSelection SpiCsSelection] (○/○) * [#SpiDataShiftEdge SpiDataShiftEdge] (○/○) * [#SpiEnableCs SpiEnableCs] (○/○) * [#SpiHwUnit SpiHwUnit] (○/○) * [#SpiShiftClockIdleLevel SpiShiftClockIdleLevel] (○/○) * [#SpiTimeClk2Cs SpiTimeClk2Cs] (○/○) * [#SpiJob SpiJob] (○/○) * [#SpiHwUnitSynchronous SpiHwUnitSynchronous] (○/○) * [#SpiJobEndNotification SpiJobEndNotification] (○/○) * [#SpiJobId SpiJobId] (○/○) * [#SpiJobPriority SpiJobPriority] (○/○) * [#SpiDeviceAssignment SpiDeviceAssignment] (○/○) * [#SpiChannelList SpiChannelList] (○/○) * [#SpiChannelIndex SpiChannelIndex] (○/○) * [#SpiChannelAssignment SpiChannelAssignment] (○/○) * [#SpiSequence SpiSequence] (○/○) * [#SpiInterruptibleSequence SpiInterruptibleSequence] (○/○) * [#SpiSeqEndNotification SpiSeqEndNotification] (○/○) * [#SpiSequenceId SpiSequenceId] (○/○) * [#SpiJobAssignment SpiJobAssignment] (○/○) * [#SpiGeneral SpiGeneral] (○/○) * [#SpiCancelApi SpiCancelApi] (○/○) * [#SpiChannelBuffersAllowed SpiChannelBuffersAllowed] (○/○) * [#SpiDevErrorDetect SpiDevErrorDetect] (○/○) * [#SpiHwStatusApi SpiHwStatusApi] (○/○) * [#SpiInterruptibleSeqAllowed SpiInterruptibleSeqAllowed] (○/○) * [#SpiLevelDelivered SpiLevelDelivered] (○/○) * [#SpiMainFunctionPeriod SpiMainFunctionPeriod] (-/○) * [#SpiSupportConcurrentSyncTransmit SpiSupportConcurrentSyncTransmit] (○/○) * [#SpiUserCallbackHeaderFile SpiUserCallbackHeaderFile] (-/○) * [#SpiVersionInfoApi SpiVersionInfoApi] (○/○) * [#SpiPublishedInformation SpiPublishedInformation] (○/○) * [#SpiMaxHwUnit SpiMaxHwUnit] (○/○) * エラーコード一覧 * "--"は[wiki:spec/Dem Dem]により決定される ||= エラーコード =||= Dec =||= Hex =||= R4.0.3 =||= R4.2.2 =|| || SPI_E_PARAM_CHANNEL || 10|| 0x0A|| ○ || ○ || || SPI_E_PARAM_JOB || 11|| 0x0B|| ○ || ○ || || SPI_E_PARAM_SEQ || 12|| 0x0C|| ○ || ○ || || SPI_E_PARAM_LENGTH || 13|| 0x0D|| ○ || ○ || || SPI_E_PARAM_UNIT || 14|| 0x0E|| ○ || ○ || || SPI_E_PARAM_POINTER || 16|| 0x10|| ○ || ○ || || SPI_E_UNINIT || 26|| 0x1A|| ○ || ○ || || SPI_E_SEQ_PENDING || 42|| 0x2A|| ○ || ○ || || SPI_E_SEQ_IN_PROCESS || 58|| 0x3A|| ○ || ○ || || SPI_E_ALREADY_INITIALIZED || 74|| 0x4A|| ○ || ○ || || SPI_E_HARDWARE_ERROR || --|| --|| ○ || ○ || ---- = API仕様 = == Spi_Init == {{{ void Spi_Init(const Spi_ConfigType* ConfigPtr) }}} == Spi_DeInit == {{{ Std_ReturnType Spi_DeInit(void) }}} == Spi_WriteIB == {{{ R4.0.3: Std_ReturnType Spi_WriteIB(Spi_ChannelType Channel, const Spi_DataType* DataBufferPtr) R4.2.2: Std_ReturnType Spi_WriteIB(Spi_ChannelType Channel, const Spi_DataBufferType* DataBufferPtr) }}} == Spi_AsyncTransmit == {{{ Std_ReturnType Spi_AsyncTransmit(Spi_SequenceType Sequence) }}} == Spi_ReadIB == {{{ R4.0.3: Std_ReturnType Spi_ReadIB(Spi_ChannelType Channel, Spi_DataType* DataBufferPointer) R4.2.2: Std_ReturnType Spi_ReadIB(Spi_ChannelType Channel, Spi_DataBufferType* DataBufferPointer) }}} == Spi_SetupEB == {{{ R4.0.3: Std_ReturnType Spi_SetupEB(Spi_ChannelType Channel, const Spi_DataType* SrcDataBufferPtr, Spi_DataType* DesDataBufferPtr, Spi_NumberOfDataType Length) R4.2.2: Std_ReturnType Spi_SetupEB(Spi_ChannelType Channel, const Spi_DataBufferType* SrcDataBufferPtr, Spi_DataBufferType* DesDataBufferPtr, Spi_NumberOfDataType Length) }}} == Spi_GetStatus == {{{ Spi_StatusType Spi_GetStatus(void) }}} == Spi_GetJobResult == {{{ Spi_JobResultType Spi_GetJobResult(Spi_JobType Job) }}} == Spi_GetSequenceResult == {{{ Spi_SeqResultType Spi_GetSequenceResult(Spi_SequenceType Sequence) }}} == Spi_GetVersionInfo == {{{ void Spi_GetVersionInfo(Std_VersionInfoType* versioninfo) }}} == Spi_SyncTransmit == {{{ Std_ReturnType Spi_SyncTransmit(Spi_SequenceType Sequence) }}} == Spi_GetHWUnitStatus == {{{ Spi_StatusType Spi_GetHWUnitStatus(Spi_HWUnitType HWUnit) }}} == Spi_Cancel == {{{ void Spi_Cancel(Spi_SequenceType Sequence) }}} == Spi_SetAsyncMode == {{{ Std_ReturnType Spi_SetAsyncMode(Spi_AsyncModeType Mode) }}} == Spi_MainFunction_Handling == {{{ void Spi_MainFunction_Handling(void) }}} == Spi_JobEndNotification == {{{ void (*Spi_JobEndNotification)(void) }}} == Spi_SeqEndNotification == {{{ void (*Spi_SeqEndNotification)(void) }}} ---- = コンフィギュレーション仕様 = == SpiDemEventParameterRefs == {{{ /AUTOSAR/EcucDefs/Spi/SpiDemEventParameterRefs }}} * 型:Container * 多重度:0..1 == SPI_E_HARDWARE_ERROR == {{{ /AUTOSAR/EcucDefs/Spi/SpiDemEventParameterRefs/SPI_E_HARDWARE_ERROR }}} * 型:Reference * 多重度:0..1 * 参照先:{{{/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter}}} == SpiDriver == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver }}} * 型:Container * 多重度:1 == SpiMaxChannel == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiMaxChannel }}} * 型:IntegerParam * 多重度:0..1 * 上限値:255 * 下限値:0 == SpiMaxJob == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiMaxJob }}} * 型:IntegerParam * 多重度:0..1 * 上限値:65535 * 下限値:0 == SpiMaxSequence == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiMaxSequence }}} * 型:IntegerParam * 多重度:0..1 * 上限値:255 * 下限値:0 == SpiChannel == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiChannel }}} * 型:Container * 多重度:1..* == SpiChannelId == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiChannel/SpiChannelId }}} * 型:IntegerParam * 多重度:1 * 上限値:255 * 下限値:0 == SpiChannelType == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiChannel/SpiChannelType }}} * 型:EnumerationParam * 多重度:1 * 選択肢: * EB * IB == SpiDataWidth == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiChannel/SpiDataWidth }}} * 型:IntegerParam * 多重度:1 * 上限値:32 * 下限値:1 == SpiDefaultData == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiChannel/SpiDefaultData }}} * 型:IntegerParam * 多重度:0..1 * 上限値:4294967295 * 下限値:0 == SpiEbMaxLength == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiChannel/SpiEbMaxLength }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SpiIbNBuffers == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiChannel/SpiIbNBuffers }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SpiTransferStart == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiChannel/SpiTransferStart }}} * 型:EnumerationParam * 多重度:1 * 選択肢: * LSB * MSB == SpiDemEventParameterRefs(2) == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiDemEventParameterRefs }}} * 型:Container * 多重度:0..1 == SPI_E_HARDWARE_ERROR(2) == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiDemEventParameterRefs/SPI_E_HARDWARE_ERROR }}} * 型:Reference * 多重度:0..1 * 参照先:{{{/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter}}} == SpiExternalDevice == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice }}} * 型:Container * 多重度:1..* == SpiBaudrate == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice/SpiBaudrate }}} * 型:FloatParam * 多重度:1 * 上限値:Inf * 下限値:0 == SpiCsIdentifier == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice/SpiCsIdentifier }}} * 型:StringParam * 多重度:1 == SpiCsPolarity == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice/SpiCsPolarity }}} * 型:EnumerationParam * 多重度:1 * 選択肢: * HIGH * LOW == SpiCsSelection == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice/SpiCsSelection }}} * 型:EnumerationParam * 多重度:0..1 * 選択肢: * CS_VIA_GPIO * CS_VIA_PERIPHERAL_ENGINE * デフォルト値: * R4.2.2:CS_VIA_PERIPHERAL_ENGINE == SpiDataShiftEdge == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice/SpiDataShiftEdge }}} * 型:EnumerationParam * 多重度:1 * 選択肢: * LEADING * TRAILING == SpiEnableCs == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice/SpiEnableCs }}} * 型:BooleanParam * 多重度:1 == SpiHwUnit == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice/SpiHwUnit }}} * 型:EnumerationParam * 多重度:1 * 選択肢: * CSIB0 * CSIB1 * CSIB2 * CSIB3 == SpiShiftClockIdleLevel == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice/SpiShiftClockIdleLevel }}} * 型:EnumerationParam * 多重度:1 * 選択肢: * HIGH * LOW == SpiTimeClk2Cs == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice/SpiTimeClk2Cs }}} * 型:FloatParam * 多重度:1 * 上限値:1E-4 * 下限値:0 == SpiJob == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiJob }}} * 型:Container * 多重度:1..* == SpiHwUnitSynchronous == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiJob/SpiHwUnitSynchronous }}} * 型:EnumerationParam * 多重度:0..1 * 選択肢: * ASYNCHRONOUS * SYNCHRONOUS == SpiJobEndNotification == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiJob/SpiJobEndNotification }}} * 型:FunctionName * 多重度:0..1 == SpiJobId == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiJob/SpiJobId }}} * 型:IntegerParam * 多重度:1 * 上限値:65535 * 下限値:0 == SpiJobPriority == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiJob/SpiJobPriority }}} * 型:IntegerParam * 多重度:1 * 上限値:3 * 下限値:0 == SpiDeviceAssignment == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiJob/SpiDeviceAssignment }}} * 型:Reference * 多重度:1 * 参照先:{{{/AUTOSAR/EcucDefs/Spi/SpiDriver/SpiExternalDevice}}} == SpiChannelList == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiJob/SpiChannelList }}} * 型:Container * 多重度:1..* == SpiChannelIndex == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiJob/SpiChannelList/SpiChannelIndex }}} * 型:IntegerParam * 多重度:1 * 上限値:255 * 下限値:0 == SpiChannelAssignment == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiJob/SpiChannelList/SpiChannelAssignment }}} * 型:Reference * 多重度:1 * 参照先:{{{/AUTOSAR/EcucDefs/Spi/SpiDriver/SpiChannel}}} == SpiSequence == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiSequence }}} * 型:Container * 多重度:1..* == SpiInterruptibleSequence == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiSequence/SpiInterruptibleSequence }}} * 型:BooleanParam * 多重度:1 == SpiSeqEndNotification == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiSequence/SpiSeqEndNotification }}} * 型:FunctionName * 多重度:0..1 == SpiSequenceId == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiSequence/SpiSequenceId }}} * 型:IntegerParam * 多重度:1 * 上限値:255 * 下限値:0 == SpiJobAssignment == {{{ /AUTOSAR/EcucDefs/Spi/SpiDriver/SpiSequence/SpiJobAssignment }}} * 型:Reference * 多重度:1..* * 参照先:{{{/AUTOSAR/EcucDefs/Spi/SpiDriver/SpiJob}}} == SpiGeneral == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral }}} * 型:Container * 多重度:1 == SpiCancelApi == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral/SpiCancelApi }}} * 型:BooleanParam * 多重度:1 == SpiChannelBuffersAllowed == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral/SpiChannelBuffersAllowed }}} * 型:IntegerParam * 多重度:1 * 上限値:2 * 下限値:0 == SpiDevErrorDetect == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral/SpiDevErrorDetect }}} * 型:BooleanParam * 多重度:1 == SpiHwStatusApi == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral/SpiHwStatusApi }}} * 型:BooleanParam * 多重度:1 == SpiInterruptibleSeqAllowed == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral/SpiInterruptibleSeqAllowed }}} * 型:BooleanParam * 多重度:1 == SpiLevelDelivered == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral/SpiLevelDelivered }}} * 型:IntegerParam * 多重度:1 * 上限値:2 * 下限値:0 == SpiMainFunctionPeriod == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral/SpiMainFunctionPeriod }}} * 型:FloatParam * 多重度:0..1 * 上限値:1 * 下限値:1E-7 * デフォルト値:0.01 == SpiSupportConcurrentSyncTransmit == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral/SpiSupportConcurrentSyncTransmit }}} * 型:BooleanParam * 多重度:1 == SpiUserCallbackHeaderFile == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral/SpiUserCallbackHeaderFile }}} * 型:StringParam * 多重度:0..* == SpiVersionInfoApi == {{{ /AUTOSAR/EcucDefs/Spi/SpiGeneral/SpiVersionInfoApi }}} * 型:BooleanParam * 多重度:1 == SpiPublishedInformation == {{{ /AUTOSAR/EcucDefs/Spi/SpiPublishedInformation }}} * 型:Container * 多重度:1 == SpiMaxHwUnit == {{{ /AUTOSAR/EcucDefs/Spi/SpiPublishedInformation/SpiMaxHwUnit }}} * 型:IntegerParam * 多重度:1 * 上限値:18446744073709551615 * 下限値:0