foodssoli.blogg.se

Smartscope labnation wiki
Smartscope labnation wiki













  1. #Smartscope labnation wiki serial number#
  2. #Smartscope labnation wiki generator#
  3. #Smartscope labnation wiki update#

There's no need to understand this part to use the library, so here's just a concise explanation of the mechanisms. Most memories are of the type ByteMemory.ByteMemory inherits from DeviceMemory, providing an indexer returning ByteRegister.DeviceMemory, containing as set of MemoryRegister, is the abstract class used to implement all devices inside of the SmartScope.

#Smartscope labnation wiki update#

To first update the cache, use MemoryRegiter.Read().Get(). The same goes for MemoryRegister.Get(): the cached value is returned. To circumvent this chaching mechanism, use MemoryRegister.WriteImmediate(). Instead, you can change a bunch of registers and finally call Commit() on the containing DeviceMemory object to effectuate the register changes. For efficiency's sake, they are cached, meaning the change of a register is not immediately written through to the device. MemoryRegister represents a register inside of a device. These conversions are implemented in DeviceInterface (see the TriggerValue setter method in SmartScopeSettings.cs). Therefore, some logic is required to convert from physical values to register values (eg GUI trigger slider to TRIGGER_LEVEL bytevalue). ADC: bits 5 and 4 of register 6 in the ADC defines wheth er its data is in two's complement or simply offset binary (see the MAX19506 datasheet p22).FGPA: the TRIGGER_LEVEL register defines the voltage of the analog trigger level (FPGA register 7, see the FPGA register list).These are the 'parameters' of certain functionalities of these chips. To use DeviceInterface, you don't actually need to understand these internals, so this is just a rough sketch of the functionality.Īll 'smart' chips (PIC, FPGA, ADC) inside the SmartScope have their registers, typically bytes. Scope.GeneratorToDigitalEnabled = true IWaveGenerator examples - Generate digital waves CommitSettings must be called to make the samplePeriod setting effective.Scope.SetDigitalOutputVoltage(DigitalOutputVoltage.V3_0) (optional) To be safe: first disable all outputsīyte customWave = new byte.When using the SmartScope for generating a custom analog waveform, follow this procedure: IWaveGenerator usage - Generate analog waves

#Smartscope labnation wiki generator#

Implements IDevice, provides properties and methods to control the wave generator and upload waveforms. Provides a DataSource, a class which fetches and records scope data in its own thread. Implements IDevice, provides properties and methods to control the oscilloscope and get scope data. You're going to use this interface the most when working with the SmartScope.

#Smartscope labnation wiki serial number#

Implements an analog and/or digital wave generatorĪ simple interface to the device's status (ready or not) and its serial number IScope Implements a general device, could be your fridge There are three interfaces used to implement the SmartScope Interface To get a fallback device at startup, call DeviceConnectHandler(DeviceManager.fallbackDevice, true) after DeviceManager instantiation and before DeviceManager.Start() Devices This way, you always have a device to work with. When a device is disconnected, the DeviceConnectHandler is called with the DummyScope (the so-called fallback device). Instantiate it with a DeviceConnectHandler callback, called whenever a device connects or disconnects. The device manager class is the starting point to work with the DeviceInterface library. Documentation needs to get updated since major refactoring of low-level device interfacingįor a very simple usage example, see our console-demoĭeviceInterface translates the SmartScope API to hardware I/O.















Smartscope labnation wiki