Application
+gp_voltage_processor: VoltagePostProcessing<double>
+pb_voltage_processor: VoltagePostProcessing<double>
+inductor_current_processor: CurrentPostProcessing<double>
+temp_hs_gp_processor: TemperaturPostProcessing<int8_t>
+temp_ls_gp_processor: TemperaturPostProcessing<int8_t>
+temp_hs_pb_processor: TemperaturPostProcessing<int8_t>
+temp_ls_pb_processor: TemperaturPostProcessing<int8_t>
+temp_inductor_processor: TemperaturPostProcessing<int8_t>
+temp_heatsink_processor: TemperaturPostProcessing<int8_t>
+ntc_temp_hs_gp: NTCModule
+ntc_temp_ls_gp: NTCModule
+ntc_temp_hs_pb: NTCModule
+ntc_temp_ls_pb: NTCModule
+ntc_temp_inductor: NTCModule
+ntc_temp_heatsink: NTCModule
+gp_voltage: Measurement
+pb_voltage: Measurement
+inductor_current: Measurement
+temp_hs_gp: Measurement
+temp_ls_gp: Measurement
+temp_hs_pb: Measurement
+temp_ls_pb: Measurement
+temp_inductor: Measurement
+temp_heatsink: Measurement
+adc1: ADC1Module
+adc2: ADC2Module
+can: CANModule
+dcdc: DCDC
+Attribute5
+Application()
+~Application()
+getInstance(): void
-initializeApplication(): void
+application(): void
ADC1Module
+adc_instance: ADCTypeDef*
+ADC1Module(adc_instance: ADCTypeDef*)
~ADC1Module()
+configurateADC(): void
+configurateADCChannel(): void
+enableADC(): void
+setADCResolution(): void
+setADCChSampleTime(): void
+setADCDataAlignment(): void
+getSample(adc_channel: uint32_t): uint16_t
+getSample(): void
«interface»
ADCInterface
+adc_instance: ADCTypeDef*
+ADCInterface(adc_instance: ADCTypeDef*)
+~ADCInterface()
+configurateADC(): void
+configurateADCChannel(): void
+enableADC(): void
+setADCResolution(): void
+setADCChSampleTime(): void
+setADCDataAlignment(): void
+getSample(adc_channel: uint32_t): uint16_t
+getSample(): void
«interface»
TIMInterface
+TIMInterface()
+~TIMInterface()
+getMaxFrequency(): uint32_t
+setClockSource(source: uint32_t): void
+setClockPrescaler(prescales: uint16_t): void
+getClockPrescaler(): uint16_t
+setTIMMode(mode: uint32_t): void
+setCaptureCompareValue(cc_unit: uint32_t, cc_value): void
+getCaptureCompareValue(cc_unit: uint32_t): uint32_t
+enableTIM(): void
+disableTIM(): void
+startTIMChannel(channel_number: uint32_t): void
+stopTIMChannel(channel_number: uint32_t): void
TIMModule
+TIMModule()
+~TIMModule()
+getMaxFrequency(): uint32_t
+setClockSource(source: uint32_t): void
+setClockPrescaler(prescales: uint16_t): void
+getClockPrescaler(): uint16_t
+setTIMMode(mode: uint32_t): void
+setCaptureCompareValue(cc_unit: uint32_t, cc_value): void
+getCaptureCompareValue(cc_unit: uint32_t): uint32_t
+enableTIM(): void
+disableTIM(): void
+startTIMChannel(channel_number: uint32_t): void
+stopTIMChannel(channel_number: uint32_t): void
PIDController
+PIDController()
+~PIDController()
DCDC
+pid: PIDController
+DCDC()
+~DCDC()
«interface»
CANInterface
+CANInterface(baudrate: uint8_t)
+~CANInterface()
+transceive(msg: CANMessage&, timeout: uint16_t): void
+receive(msg: CANMessage&): void
CANModule
+CANModule(baudrate: uint8_t)
+~CANModule()
+transceive(msg: CANMessage&, timeout: uint16_t): void
+receive(msg: CANMessage&): void
User has to implement
the ADC hardware
configuration in the
functions configurateADC
and
configurateADCChannel
MeasurementFilter
+MeasurementFilter()
+~MeasurementFilter()
+getFilteredMeasurement(): uint16_t
+getUnfilteredMeasurement(): uint16_t
uint8_t filter_buffer_size = 8
InterruptManager
+InterruptManager()
+~InterruptManager()
+getInstance(): InterruptManager&
+registerInterrupt(source: uint8_t, observer: Interruptible*): void
+invokeInterrupt(source: uint8_t): void
+enableInterrupt(source: uint8_t): void
+disableInterrupt(source: uint8_t): void
NTCLut
-temperature: std::array<int8_t, ntc_vector_size>&
+resistance: std::array<int32_t, ntc_vector_size>
+NTCLut(size_of_lut: uint16_t, temperature: std::array<int8_t, ntc_vector_size>&, rt_r25: std::array<double, ntc_vector_size>&, r25: uint32_t)
+~NTCLut()
+sizeOfLut(): uint16_t
+getTemperature(index: uint16_t): int8_t
+getResistance(): uint32_t
-calculateResistance(rt_r25_void): void
uint8_t ntc_vector_size
NTCModule
-r_ntc_lut: NTCLut&
-r_adc: ADCModule&
-adc_channel: uint32_t = 0
-r2: uint32_t
-supply_voltage: uint32_t
+NTCModule(r_ntc_lut: NTCLut&, r_adc: ADCModule&, adc_channel: uint32_t, r2: uint32_t, supply_voltage: uint16_t)
+~NTCModule()
+getTemperature(): int8_t
+getDutyCycle()
CANAcceptanceFilter
+getFilterIDHigh(): uint32_t
+setFilterIDHigh(id: uint32_t): void
+getFilterIDLow(): Uint32_t
+setFilterIDLow(id: uint32_t): void
+getFilterMaskIDHigh(): uint32_t
+setFilterMaskIDHigh(id: uint32_t): void
+getFilterMaskIDLow(): uint32_t
+setFilterMaskIDLow(id: uint32_t): void
+getFilterFIFOAssignment(): uint32_t
+setFilterFIFOAssignment(fifo_number: uint32_t): void
+getFilterNumber(): uint32_t
+setFilterNumber(filter_number: uint32_t): void
+getFilterMode(): uint32_t
+setFilterMode(filter_mode: uint32_t): void
+getFilterScale(): uint32_t
+setFilterScale(id: uint32): void
+getFilterActivation(): uint32_t
+enableFilter(): void
+disableFilter(): void
Interruptible
+Interruptible(): int
+interrupt(source: uint8_t): void
CANMessage
+getStdID(): uint32_t
+setStdID(std_id: uint32_t): void
+getExtID(): uint32_t
+setExtID(std_id: uint32_t): void
+getRTR(): uint32_t
+setRTR(rtr: uint32_t): void
+getDLC(): uint32_t
+setDLC(dlc: uint32_t): void
+getData(number_of_byte: uint8_t): uint8_t
+setData(number_of_byte: uint8_t, data_uint8_t)
+getFIFONumber(): uint32_t
+setFIFONumber(fifo_number: uint32_t)
«interface»
CANAcceptanceFilterInterface
+getFilterIDHigh(): uint32_t
+setFilterIDHigh(id: uint32_t): void
+getFilterIDLow(): Uint32_t
+setFilterIDLow(id: uint32_t): void
+getFilterMaskIDHigh(): uint32_t
+setFilterMaskIDHigh(id: uint32_t): void
+getFilterMaskIDLow(): uint32_t
+setFilterMaskIDLow(id: uint32_t): void
+getFilterFIFOAssignment(): uint32_t
+setFilterFIFOAssignment(fifo_number: uint32_t): void
+getFilterNumber(): uint32_t
+setFilterNumber(filter_number: uint32_t): void
+getFilterMode(): uint32_t
+setFilterMode(filter_mode: uint32_t): void
+getFilterScale(): uint32_t
+setFilterScale(id: uint32): void
+getFilterActivation(): uint32_t
+enableFilter(): void
+disableFilter(): void
«interface»
CANMessageInterface
+getStdID(): uint32_t
+setStdID(std_id: uint32_t): void
+getExtID(): uint32_t
+setExtID(std_id: uint32_t): void
+getRTR(): uint32_t
+setRTR(rtr: uint32_t): void
+getDLC(): uint32_t
+setDLC(dlc: uint32_t): void
+getData(number_of_byte: uint8_t): uint8_t
+setData(number_of_byte: uint8_t, data_uint8_t)
+getFIFONumber(): uint32_t
+setFIFONumber(fifo_number: uint32_t)
Measurement
-measurement_filter: MeasurementFilter< filter_buffer_size>
-new_data_flag: bool
-adc_module: T*
-adc_channel: uint32_t
+post_processed_data: PostProcessing&
+current_measurement: A
+last_measurement: A
+Measurement(adc_module: T*, adc_channel: uint32_t)
+~Measurement()
+measure(): void
+setNewDataAvailableFlag(): void
+clearNewDataAvailableFlag(): void
+getCurrentMeasurement(): A
+getLastMeasurement(): A
typename T
typename A
uint8_t filter_buffer_size = 8
ADC2Module
+adc_instance: ADCTypeDef*
+ADC2Module(adc_instance: ADCTypeDef*)
~ADC2Module()
+configurateADC(): void
+configurateADCChannel(): void
+enableADC(): void
+setADCResolution(): void
+setADCChSampleTime(): void
+setADCDataAlignment(): void
+getSample(adc_channel: uint32_t): uint16_t
+getSample(): void
getBufferAddress()
returns a pointer to the
filter_buffer to provide
data access for DMA
transfer
MeasurementDataBuffer
-data_container: std::array<T, filter_buffer_size>
+getData(index: uint8_t): T
+getDataBufferAddress(): T*
+setData(index: uint8_t): void
typename T
uint8_t filter_buffer_size = 8
PostProcessing
-processing_data: uint32_t&
+post_processed_data: T
+PostProcessing(processing_data: uint32_t&)
+~PostProcessing()
-postProcessData(): void
+getPostProcessedData(): T
+setProcessingDataReference(r_data: uint32_t&): void
-convertBinaryToPhysicalValue(): void
typename T
VoltagePostProcessing
+PowerBusVoltagePostProcessing()
+~PowerBusVoltagePostProcessing()
-postProcessData(): void
-convertBinaryToPhysicalValue(): void
typename T
CurrentPostProcessing
+InductorCurrentPostProcessing()
+~InductorCurrentPostProcessing()
-postProcessData(): void
-convertBinaryToPhysicalValue(): void
typename T
TemperaturePostProcessing
+ntc: NTCModule&
+TemperatureHSGreenpackPostProcessing()
+~TemperatureHSGreenpackPostProcessing()
-postProcessData(): void
-convertBinaryToPhysicalValue(): void
typename T
postProcessData()
darf nicht pure
virtual sein!!!
+MeasurementDataBuffer<uint16_t>
«interface»
GPIOInterface
+GPIOInterface()
+~GPIOInterface()
+setPin(): void
+clearPin(): void
+togglePin(): void
GPIOModule
-gpio_port: GPIO_TypeDef*
-gpio_pin: uint16_t
-gpio_configuration: GPIO_InitTypeDef
+GPIOModule(gpio_port: GPIO_TypeDef*, gpio_pin: uint16_t, gpio_mode: uint32_t, gpio_pull: uint32_t, gpio_speed: uint32_t, gpio_alternate: uint32_t)
+~GPIOModule()
+setPin(): void
+clearPin(): void
+togglePin(): void
+getPinState(): GPIO_PinState
Singleton
HRTIMModule
+Attribute1
+Attribute2
+HRTIMModule()
+~HRTIMModule()