Shepherd-Core - Virtual Source Sim

Note

TODO: WORK IN PROGRESS

These are simulation-models of the versions running on the PRUs.

Virtual Source

class shepherd_core.vsource.VirtualSourceModel(vsrc: VirtualSourceConfig | None, cal_emu: CalibrationEmulator, dtype_in: EnergyDType = EnergyDType.ivsample, window_size: int | None = None, voltage_step_V: float | None = None, *, log_intermediate: bool = False)

part of sampling.c.

iterate_sampling(V_inp_uV: int = 0, I_inp_nA: int = 0, I_out_nA: int = 0) int

TEST-SIMPLIFICATION - code below is not part of pru-code.

It originates from sample_emulator() in sampling.c.

Parameters:
  • V_inp_uV

  • I_inp_nA

  • I_out_nA

Returns:

Virtual Converter

class shepherd_core.vsource.VirtualConverterModel(cfg: ConverterPRUConfig, cal: PruCalibration)

Ported python version of the pru vCnv.

Virtual Harvester

class shepherd_core.vsource.VirtualHarvesterModel(cfg: HarvesterPRUConfig)

Ported python version of the pru vHrv.