Skip to main content

SQN Core Network Configuration and Uses Guide

This document contains the default settings and instructions for configuring the SQN Core Controller.


1. Default Network Settings

Upon shipping, the controller is pre-configured with the following factory defaults:

  • IP Address: 192.168.10.29
  • Port: 80
  • Subnet Mask: 255.255.255.0
  • Gateway: 192.168.10.1

2. Initial Computer Setup

To communicate with the controller, your computer must be on the same subnet. Configure your Ethernet adapter with the following static IP settings:

Setting Value
IP Address 192.168.10.x (any number 2–254, except 29)
Subnet Mask 255.255.255.0
Gateway 192.168.10.1

3. Updating Controller Settings via Python

You can update the controller's network configuration using the SemiSwitch library.

import semiswitch as sq

# Connect to the controller using default settings
rf_switch = sq.Switch(ip_address='192.168.10.29', port=80)

# Set your new preferred network settings
# Replace 'x' with your specific network values
rf_switch.set_IP(
    ip_address='192.xxx.xxx.xxx',
    port=xxxx,
    mask='xxx.xxx.xxx.xxx',
    gateway='192.xxx.xxx.xxx'
)
Note: After running the script, a connection error will appear.This is expected. Once the script has executed, the controller will be accessible on the newly configured network.

Quickly press the Reset button more than 10 times to restore the controller to its default network settings.

4. Controlling the RF switch

Four RF switch ports are available (output_0-3). The controller allows only one active port at a time; switching to a new port will automatically turn off the previous selection. The example below illustrates how to create a switch instance, sequentially route the RF input to output_0 and output_1, and reset the switch. While resetting and closing, we leave the switch outputs open intentionally in this example.

import semiswitch as sq

rf_switch = sq.Switch(ip_address='192.168.10.29', port=80)
# open all RF ports
rf_switch.open_all()
# switch on the output_0 port
rf_switch.output_0.close()
# switch on the output_1 port
rf_switch.output_1.close()
# open all RF port
rf_switch.open_all()
# close the connection
rf_switch.close()

5. Controlling the RF switch with custom supply voltages

The supply voltages which are applied to the logical bus, controlling the switch state, are default set to VSS = -8 V, VDD = 8 V. To customize the supplies the bus pin attribute of the RF switch instance can be reconfigure by just changing the corresponding attributes. Depending on the transconductance of the switch MOSFETs at chosen supply level it will of course change the RF gain, and can cause a significant insertion-loss if values are chosen too close to the threshold voltages. The example below shows how to switch to output_0 with a custom supply.

import semiswitch as sq
# Create the switch instance
rf_switch = sq.Switch(ip_address='192.168.10.29', port=80)
# Set Channel 01 to +6.0V
rf_switch.bus.VDD = 5.0
rf_switch.bus.VSS = -6.0
# switch on the output_1 port
rf_switch.output_1.close()
# open all RF port
rf_switch.open_all()
# close the connection
rf_switch.close()

6. Controlling the DAC module directly

SQN_Core8 controller has a total of 8 DC voltage ports, which are named as dac_01, dac_02, dac_03, ... , dac_08. Each channel can be set from -10 V to +10 V. In the example below, we configure the controller ports directly, by addressing the controller attribure of the switch.

import semiswitch as sq
# Create the switch instance
rf_switch = sq.Switch(ip_address='192.168.10.29', port=80)
# Set Channel 01 to +6.0V
rf_switch.controller.dac_01.set_voltage(6.0) 
# Set Channel 02 to -6.0V
rf_switch.controller.dac_02.set_voltage(-6.0)
# Close socket
rf_switch.close()

Multiple channels can also be configured simultaneously

import semiswitch as sq
# Create the switch instance
rf_switch = sq.Switch(ip_address='192.168.10.29', port=80)
# Group dac_01, dac_03, dac_02, dac_07 into a single pin
pin_group=[getattr(rf_switch.controller,_pin_name) for _pin_name in "dac_01","dac_03","dac_02","dac_07",]         
channels = sq.DACChannels(pins=pin_group)
# Set dac_01 = 1V, dac_03 = 2V, dac_02 = 3V, dac_07 = 4V
channels.set_voltage([1.0,2.0,3.0,4.0])             
# Set all channels to 0V
rf_switch.set_all_zero()
# Set dac_01, dac_03, dac_02, dac_07 all to 5V
channels.set_voltage(5)
# Close socket
switch.close()

Metadata

Release files for semiswitch 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for semiswitch 1.0.2
File Size Uploaded
semiswitch-1.0.2.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for semiswitch 1.0.2
File Interpreter ABI Platform
semiswitch-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 11.7 kB

Release files / semiswitch-1.0.2.tar.gz

Download URL semiswitch-1.0.2.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a85b3ea6c973bd2b5c17a8e3f2428b579dbd29340794a2583653c67339ad28e4
BLAKE2b-256 checksum
How to use checksums
21c8fdfc901dd04518ddb92d7964509bc587ca28546e2a5c07d4dd1253c3b03a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / semiswitch-1.0.2-py3-none-any.whl

Download URL semiswitch-1.0.2-py3-none-any.whl
Size 6.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
15ba6edf2881ab7141b63a26241fe3e171f1fcbf940001a6e81f9db359aab28b
BLAKE2b-256 checksum
How to use checksums
c8ef6ee3ef554aed3388761e54048bd15cc5aba1085efcf3a763e7ca735341ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page