Expand description
§nanonis-rs
A Rust client library for communicating with Nanonis SPM systems via TCP.
§Quick Start
use nanonis_rs::{NanonisClient, NanonisError};
fn main() -> Result<(), NanonisError> {
let mut client = NanonisClient::new("192.168.1.100", 6501)?;
// Get current bias voltage
let bias = client.bias_get()?;
println!("Current bias: {} V", bias);
// Set new bias voltage
client.bias_set(0.5)?;
Ok(())
}§Usage Pattern
All instrument control is done through NanonisClient. Import types
from domain modules only when needed:
use nanonis_rs::{NanonisClient, NanonisError};
use nanonis_rs::motor::{MotorDirection, MotorGroup};
use nanonis_rs::scan::ScanFrame;
fn main() -> Result<(), NanonisError> {
let mut client = NanonisClient::new("192.168.1.100", 6501)?;
// Motor control
client.motor_start_move(MotorDirection::ZPlus, 100u16, MotorGroup::Group1, true)?;
// Scan control
let frame = client.scan_frame_get()?;
println!("Scan center: ({}, {})", frame.center.x, frame.center.y);
Ok(())
}§Streaming Data
For continuous data acquisition, use TCPLoggerStream:
use nanonis_rs::TCPLoggerStream;
let mut stream = TCPLoggerStream::new("192.168.1.100", 6502)?;
let frame = stream.read_frame()?;
println!("Got {} channels", frame.data.len());Modules§
- atom_
track - Atom tracking types.
- beam_
defl - Beam deflection types.
- bias
- Bias control types.
- bias_
spectr - Bias spectroscopy types.
- cpd_
comp - CPD compensation types.
- data_
log - Data logging types.
- dig_
lines - Digital lines types.
- folme
- Follow-me types.
- gen_
pi_ ctrl - Generic PI controller types.
- gen_swp
- Generic sweep types.
- hs_swp
- High-speed sweep types.
- interf
- Interferometer types.
- kelvin_
ctrl - Kelvin controller types.
- lockin
- Lock-in amplifier types.
- lockin_
freq_ swp - Lock-in frequency sweep types.
- marks
- Marks types.
- motor
- Motor control types.
- oc_sync
- OC sync types.
- oscilloscope
- Oscilloscope types.
- pattern
- Pattern types.
- pi_ctrl
- PI controller types.
- piezo
- Piezo control types.
- pll
- PLL (Phase-Locked Loop) types.
- pll_
signal_ anlzr - PLL signal analyzer types.
- scan
- Scan control types.
- script
- Script types.
- signal_
chart - Signal chart types.
- signals
- Signal management types.
- spectrum_
anlzr - Spectrum analyzer types.
- tcplog
- TCP logger types.
- tip_
recovery - Tip recovery types.
- user_
out - User output types.
- util
- Utility types.
- z_ctrl
- Z-controller types.
- z_
spectr - Z spectroscopy types.
Structs§
- Connection
Config - Connection configuration for the Nanonis TCP client.
- Nanonis
Client - High-level client for communicating with Nanonis SPM systems via TCP.
- Nanonis
Client Builder - Builder for constructing
NanonisClientinstances with flexible configuration. - Position
- TCPLogger
Stream - Simple TCP Logger Stream - connects to data stream only, no control
Enums§
- Nanonis
Error - Error types for Nanonis communication.
- Nanonis
Value