ScEpTIC.emulator.energy.mcu_peripheral.protocol_models package

Submodules

ScEpTIC.emulator.energy.mcu_peripheral.protocol_models.external_nvm_i2c module

class ScEpTIC.emulator.energy.mcu_peripheral.protocol_models.external_nvm_i2c.I2CExternalNVMProtocol(address_size)

Bases: ExternalNVMProtocol

Abstraction of the I2C protocol used by NVM.

address = 9
clock_cycle_action = 'I2C_ACCESS'
data = 9
get_operation_ticks(operation_code)
Parameters:

operation_code – the operation type (NVMProtocolAction)

Returns:

the number of clock cycles required to execute operation_code

header = 9
init = 1
op_mode_name = 'NVM_I2C'
stop = 1

ScEpTIC.emulator.energy.mcu_peripheral.protocol_models.external_nvm_protocol module

class ScEpTIC.emulator.energy.mcu_peripheral.protocol_models.external_nvm_protocol.ExternalNVMProtocol(address_size)

Bases: object

Generic model of a protocol to access external NVM

clock_cycle_action = None
get_operation_ticks(operation_code)
Parameters:

operation_code – the operation type (NVMProtocolAction)

Returns:

the number of clock cycles required to execute operation_code

op_mode_name = 'EXTERNAL_NVM'
class ScEpTIC.emulator.energy.mcu_peripheral.protocol_models.external_nvm_protocol.ExternalNVMProtocolAction(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

READ_BYTE = 3
READ_INIT = 1
STOP = 5
WRITE_BYTE = 4
WRITE_INIT = 2

ScEpTIC.emulator.energy.mcu_peripheral.protocol_models.external_nvm_spi module

class ScEpTIC.emulator.energy.mcu_peripheral.protocol_models.external_nvm_spi.SPIExternalNVMProtocol(address_size)

Bases: ExternalNVMProtocol

Abstraction of the SPI protocol used by NVM.

address = 8
clock_cycle_action = 'I2C_ACCESS'
data = 8
get_operation_ticks(operation_code)
Parameters:

operation_code – the operation type (NVMProtocolAction)

Returns:

the number of clock cycles required to execute operation_code

init = 8
op_mode_name = 'NVM_SPI'

Module contents