1530 lines
58 KiB
JavaScript
1530 lines
58 KiB
JavaScript
const shop_data = {
|
|
currency: 'USD',
|
|
|
|
crateModes: {
|
|
rack: {
|
|
id: 'rack',
|
|
name: 'Rack mountable crate',
|
|
price: 550,
|
|
hp: 84,
|
|
options: "options"
|
|
},
|
|
desktop: {
|
|
id: 'desktop',
|
|
name: 'Desktop crate',
|
|
price: 500,
|
|
hp: 42,
|
|
options: "options"
|
|
},
|
|
no_crate: {
|
|
id: 'no_crate',
|
|
name: 'Spare cards',
|
|
price: 0,
|
|
hp: -1,
|
|
warnings_disabled: true,
|
|
options: "crateless_options"
|
|
}
|
|
},
|
|
crateModeOrder: [
|
|
"rack", "desktop"
|
|
],
|
|
|
|
crateOptions: {
|
|
options: [
|
|
{"if": [
|
|
{"==": [{"var": "ext_data.crate_mode"}, "rack",]},
|
|
{type: "Switch", args: {
|
|
title: "Add fan tray",
|
|
outvar: "fan_tray",
|
|
tip: "Add 1U 84hp fan tray (to be mounted under the crate) to improve cooling. " +
|
|
"Fans need 220VAC 50/60Hz power. 3 fans, 167m³/h air flow.",
|
|
fallback: false
|
|
}}
|
|
]},
|
|
],
|
|
prices: [{"if": [
|
|
{"and": [{"var": "fan_tray"}, {"==": [{"var": "ext_data.crate_mode"}, "rack",]}]},
|
|
{title: "Add fan tray", price: 470, disable_patch: {"fan_tray": false}, id: "fan_tray"}]}]
|
|
},
|
|
|
|
orderOptions: {
|
|
options: [
|
|
{"type": "Group", items:[
|
|
{type: "Switch", args: {
|
|
title: "Optional pre-installed NUC mini-computer",
|
|
outvar: "nuc",
|
|
tip: "Pre-installed NixOS desktop with ARTIQ and other scientific software. " +
|
|
"Hardware: Intel® NUC 13 Pro Kit NUC13ANKi7, i7-1360P CPU, " +
|
|
"32GB RAM, 1TB NVMe. Other options contact us.",
|
|
fallback: true,
|
|
}},
|
|
{
|
|
"if": [
|
|
{"var": "nuc"},
|
|
[
|
|
{
|
|
type: "Radio",
|
|
args: {
|
|
title: "Desktop Environment:",
|
|
outvar: "nuc_desktop",
|
|
variants: ["Gnome", "KDE"],
|
|
fallback: 0,
|
|
classes: "form-check-inline ms-4"
|
|
}
|
|
},
|
|
{type: "Line", args: {title: "Additional software to be pre-installed", outvar: "software", fallback: "",
|
|
tip: "Most software from nixpkgs can be pre-installed."}},
|
|
{"if": [
|
|
{"var": "ext_data.has_crate"},
|
|
{type: "Switch", args: {
|
|
title: "Promotional USB stick",
|
|
outvar: "include_usb_stick_nuc",
|
|
tip: "Branded USB stick with device database and other relevant files. Files can also be emailed to you.",
|
|
fallback: false,
|
|
}}
|
|
]},
|
|
],
|
|
{"if": [
|
|
{"var": "ext_data.has_crate"},
|
|
{type: "Switch", args: {
|
|
title: "Include promotional USB stick",
|
|
outvar: "include_usb_stick",
|
|
tip: "Choose if you need a USB stick with device database and other relevant files. Alternative is to to receive them via other electronic means (e.g. email or cloud).",
|
|
fallback: true,
|
|
}}
|
|
]},
|
|
]
|
|
},
|
|
]},
|
|
{"type": "Group", items: [
|
|
{
|
|
type: "Radio",
|
|
args: {
|
|
title: "Shipping options:",
|
|
outvar: "shipping",
|
|
variants: [
|
|
"Incoterms 2020 FCA",
|
|
"Incoterms 2020 DAP",
|
|
"Prepay and add shipping (only available to credit customers)"
|
|
],
|
|
fallback: 0
|
|
}
|
|
},
|
|
{"if": [
|
|
{"==": [{"var": "shipping"}, "Incoterms 2020 FCA"]},
|
|
{type: "Line", args: {title: "Please provide your carrier account information and/or other shipping instructions",
|
|
outvar: "shipping_instructions", fallback: ""}}
|
|
]},
|
|
{"if": [
|
|
{"==": [{"var": "shipping"}, "Incoterms 2020 DAP"]},
|
|
{type: "Line", args: {title: "Please provide delivery address",
|
|
outvar: "shipping_instructions", fallback: "",
|
|
tip: "Additional customs fees may be charged to you by the carrier at the time of delivery."}}
|
|
]},
|
|
{"if": [
|
|
{"==": [{"var": "shipping"}, "Prepay and add shipping (only available to credit customers)"]},
|
|
[{type: "Radio", args: {title: "In case of additional customs fees:",
|
|
outvar: "prepay_fees_handling", fallback: 0,
|
|
variants: [
|
|
"Add to your final invoice",
|
|
"Carrier bills you directly"
|
|
]}},
|
|
{type: "Line", args: {title: "Please provide delivery address",
|
|
outvar: "shipping_instructions", fallback: "",}}],
|
|
]},
|
|
]}
|
|
],
|
|
|
|
prices: [{
|
|
"if": [{"var": "nuc"}, {title: "Pre-installed NUC mini-computer", price: 1300, disable_patch: {"nuc": false}, id: "nuc"}],
|
|
}],
|
|
shippingSummary: [
|
|
{type: "Label", args: {
|
|
content: ["Shipping method: ", {"var": "shipping"}]
|
|
}},
|
|
{"if": [
|
|
{"var": "shipping_instructions"},
|
|
{type: "Label", args: {
|
|
content: [
|
|
{"if": [
|
|
{"==": [{"var": "shipping"}, "Incoterms 2020 FCA"]},
|
|
"carrier account information and/or other shipping instructions: ",
|
|
"delivery address: "
|
|
]},
|
|
{"var": "shipping_instructions"}
|
|
]
|
|
}}]},
|
|
{type: "Label", args: {
|
|
content: [
|
|
{"if": [
|
|
{"==": [{"var": "shipping"}, "Prepay and add shipping (only available to credit customers)"]},
|
|
["In case of additional customs fees: ", {"lower": {"var": "prepay_fees_handling"}}],
|
|
]}
|
|
]
|
|
}},
|
|
]
|
|
},
|
|
|
|
items: {
|
|
/* keys are also ids, avoid changing them */
|
|
'kasli': {
|
|
id: 'kasli',
|
|
name: 'Carrier',
|
|
name_number: '1124',
|
|
name_codename: 'Kasli 2.0',
|
|
price: 3600,
|
|
image: '/images/shop/graphic-03_kasli.svg',
|
|
specs: [
|
|
'FPGA core device, runs ARTIQ kernels, controls the EEMs.',
|
|
'4 SFP 6Gb/s slots for Ethernet or DRTIO.',
|
|
'12 EEM connectors.',
|
|
'4 MMCX clock outputs.',
|
|
'Price includes bitstream generation, flashing, testing, and firmware updates for 1 year (USD 1,400.00).',
|
|
],
|
|
size: 'big',
|
|
options: [
|
|
{type: "Radio", args: {title: "DRTIO role", outvar: "drtio_role", variants: ["standalone", "master", "satellite"], tip: "Distributed Real Time Input/Output allows ARTIQ RTIO channels to be distributed among several satellite devices synchronized and controlled by a central core(master) device. Standalone option disables this feature."}},
|
|
{
|
|
"if": [
|
|
{
|
|
"in": [
|
|
{"var": "drtio_role"}, [
|
|
"master", "standalone"
|
|
]
|
|
]
|
|
},
|
|
[
|
|
{type: "Line", args: {title: "IPv4", outvar: "ipv4", fallback: "192.168.1.75/24",
|
|
tip: "Set up IPv4 address and mask used by core device", validator: {name: "ipv4"}}},
|
|
{type: "SwitchLine", args: {title: "IPv6", outvar: "ipv6",
|
|
tip: "Set up IPv6 address and prefix used by core device",
|
|
validator: {name: "ipv6"}}},
|
|
{type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk", fallback: {text: "125 MHz", checked: false},
|
|
validator: {name: "frequency", params: {min: 10e6, max: 1e9}},
|
|
tip: "Use external clock reference: 10, 80 (beta), 100 or 125 MHz. Other options may be provided if needed."}}
|
|
],
|
|
[
|
|
{type: "Switch", args: {title: "Optical fiber", outvar: "optics", tip: "Use optical fiber instead of direct attach copper cable"}},
|
|
{"if": [
|
|
{"var": "optics"},
|
|
{type: "Radio", args: {title: "Fiber cable length", outvar: "fiber_cable_len", variants: ["1 M", "3 M", "5 M"], tip: "The desired length of the optical fiber cable", fallback: 1}},
|
|
{type: "Radio", args: {title: "Copper cable length", outvar: "copper_cable_len", variants: ["0.5 M", "1 M", "2 M"], tip: "The desired length of the direct attach copper cable", fallback: 0}},
|
|
]}
|
|
]
|
|
]
|
|
}
|
|
],
|
|
resources: [
|
|
{name: "eem", max: 12},
|
|
{name: "clk", max: 4},
|
|
],
|
|
warnings: [
|
|
"eem_resource",
|
|
"clk_resource",
|
|
"eem_wiring_constraint"
|
|
],
|
|
consumes: {
|
|
hp: 8
|
|
}
|
|
},
|
|
'kaslisoc': {
|
|
id: 'kaslisoc',
|
|
name: 'Carrier',
|
|
name_number: '1125',
|
|
name_codename: 'Kasli-SoC',
|
|
price: 5100,
|
|
image: '/images/shop/graphic-03_kaslisoc.svg',
|
|
specs: [
|
|
'Core device based on Zynq-7000 CPU+FPGA system-on-chip.',
|
|
'Runs ARTIQ kernels on 1GHz Cortex-A9 CPU with hardware FPU.',
|
|
'Enables high-speed matrix math on the core device.',
|
|
'Lower RTIO latency.',
|
|
'Higher network transfer speeds.',
|
|
'Dedicated RJ45 port for Gigabit Ethernet.',
|
|
'4 SFP 12Gb/s slots for DRTIO.',
|
|
'12 EEM connectors.',
|
|
'4 MMCX clock outputs.',
|
|
],
|
|
size: 'big',
|
|
hp: 8,
|
|
nbrSlotMin: 0,
|
|
nbrSlotMax: 12,
|
|
nbrCurrentSlot: 0,
|
|
nbrClockMax: 4,
|
|
nbrCurrentClock: 0,
|
|
slotOccupied: 1,
|
|
clockOccupied: 0,
|
|
options: [
|
|
{type: "Radio", args: {title: "DRTIO role", outvar: "drtio_role", variants: ["standalone", "master", "satellite"], tip: "Distributed Real Time Input/Output allows ARTIQ RTIO channels to be distributed among several satellite devices synchronized and controlled by a central core(master) device. Standalone option disables this feature."}},
|
|
{
|
|
"if": [
|
|
{
|
|
"in": [
|
|
{"var": "drtio_role"}, [
|
|
"master", "standalone"
|
|
]
|
|
]
|
|
},
|
|
[
|
|
{type: "Line", args: {title: "IPv4", outvar: "ipv4",
|
|
validator: {name: "ipv4"},
|
|
fallback: "192.168.1.75/24",
|
|
tip: "Set up IPv4 address used by core device"}},
|
|
{type: "SwitchLine", args: {title: "IPv6", outvar: "ipv6",
|
|
tip: "Set up IPv6 address and prefix used by core device",
|
|
validator: {name: "ipv6"}}},
|
|
{type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk",
|
|
validator: {name: "frequency", params: {min: 10e6, max: 1e9}},
|
|
fallback: {text: "125 MHz", checked: false},
|
|
tip: "Use external clock reference: 10, 80 (beta), 100 or 125 MHz. Other options may be provided if needed."}},
|
|
{type: "Switch", args: {title: "WRPLL", outvar: "wrpll", tip: "Enable WRPLL instead of Si5324"}},
|
|
],
|
|
[
|
|
{type: "Switch", args: {title: "Optical fiber", outvar: "optics", tip: "Use optical fiber instead of direct attach copper cable"}},
|
|
{"if": [
|
|
{"var": "optics"},
|
|
{type: "Radio", args: {title: "Fiber cable length", outvar: "fiber_cable_len", variants: ["1 M", "3 M", "5 M"], tip: "The desired length of the optical fiber cable", fallback: 1}},
|
|
{type: "Radio", args: {title: "Copper cable length", outvar: "copper_cable_len", variants: ["0.5 M", "1 M", "2 M"], tip: "The desired length of the direct attach copper cable", fallback: 0}},
|
|
]}
|
|
]
|
|
]
|
|
}
|
|
],
|
|
resources: [
|
|
{name: "eem", max: 12},
|
|
{name: "clk", max: 4},
|
|
],
|
|
warnings: [
|
|
"eem_resource",
|
|
"clk_resource",
|
|
"eem_wiring_constraint"
|
|
],
|
|
consumes: {
|
|
hp: 8
|
|
}
|
|
},
|
|
'vhdcicarrier': {
|
|
id: 'vhdcicarrier',
|
|
name: 'VHDCI Carrier',
|
|
name_number: '1008',
|
|
name_codename: '',
|
|
price: 400,
|
|
image: '/images/shop/graphic-03_VHDCI_carrier.svg',
|
|
specs: [
|
|
'Passive adapter between VHDCI and EEMs.',
|
|
'VHDCI (SCSI-3) cables can carry EEM signals over short distances between crates.',
|
|
'Bidirectional: can be driven by Kasli (contact us), or can drive other cards.',
|
|
'A pair of VHDCI carriers is a simple, low-latency and low-cost alternative to DRTIO for some applications.',
|
|
],
|
|
size: 'big',
|
|
resources: [
|
|
{name: "eem", max: 8},
|
|
],
|
|
warnings: [
|
|
"eem_resource",
|
|
"eem_wiring_constraint"
|
|
],
|
|
consumes: {
|
|
hp: 8
|
|
}
|
|
},
|
|
'bnc-dio': {
|
|
id: 'bnc-dio',
|
|
name: 'BNC-TTL',
|
|
name_number: '2118',
|
|
name_codename: '',
|
|
price: 450,
|
|
image: '/images/shop/graphic-03_BNC-TTL.svg',
|
|
specs: [
|
|
'Two banks of four digital channels each, with BNC connectors.',
|
|
'Each bank with individual ground isolation.',
|
|
'Per-bank switchable direction.',
|
|
'Per-channel switchable 50 Ohm termination with LED indicators.',
|
|
'Short circuit tolerance: infinite.',
|
|
'Minimum pulse width: 3ns.',
|
|
'Max 150 MHz toggle rate with 50% duty cycle.'
|
|
],
|
|
datasheet_file: '/docs/sinara-datasheets/2118-2128.pdf',
|
|
datasheet_name: '2118/2128 BNC/SMA-TTL datasheet',
|
|
size: 'big',
|
|
options: [
|
|
{
|
|
"if": [
|
|
{"var": "ext_data.has_other_dio"},
|
|
[
|
|
{type: "Switch", args: {title: "Output first bank", fallback: true, outvar: "out_first_bank", tip: "Switch connectors 0-3 to output"}}
|
|
],
|
|
[
|
|
{type: "Switch", args: {title: "Output first bank", outvar: "out_first_bank", tip: "Switch connectors 0-3 to output"}}
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"if": [
|
|
{"!": {"var": "out_first_bank"}},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Termination #0", outvar: "term_0", tip: "Enable termination on channel #0"}},
|
|
{type: "Switch", args: {title: "Termination #1", outvar: "term_1", tip: "Enable termination on channel #1"}},
|
|
{type: "Switch", args: {title: "Termination #2", outvar: "term_2", tip: "Enable termination on channel #2"}},
|
|
{type: "Switch", args: {title: "Termination #3", outvar: "term_3", tip: "Enable termination on channel #3"}},
|
|
]},
|
|
null
|
|
]
|
|
},
|
|
{type: "Switch", args: {title: "Output second bank", outvar: "out_second_bank", fallback: true, tip: "Switch connectors 4-7 to output"}},
|
|
{
|
|
"if": [
|
|
{"!": {"var": "out_second_bank"}},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Termination #4", outvar: "term_4", tip: "Enable termination on channel #4"}},
|
|
{type: "Switch", args: {title: "Termination #5", outvar: "term_5", tip: "Enable termination on channel #5"}},
|
|
{type: "Switch", args: {title: "Termination #6", outvar: "term_6", tip: "Enable termination on channel #6"}},
|
|
{type: "Switch", args: {title: "Termination #7", outvar: "term_7", tip: "Enable termination on channel #7"}},
|
|
]},
|
|
null
|
|
]
|
|
},
|
|
{
|
|
"if": [
|
|
{"!": {"and": [{"var": "out_first_bank"}, {"var": "out_second_bank"}]}},
|
|
{type: "Switch", args: {title: "Edge counter", outvar: "edge_counter", tip: "Enable edge counter for inputs"}}
|
|
]
|
|
}
|
|
],
|
|
warnings: [
|
|
"no_eem_source"
|
|
],
|
|
consumes: {
|
|
hp: 8,
|
|
eem: 1
|
|
}
|
|
},
|
|
'sma-dio': {
|
|
id: 'sma-dio',
|
|
name: 'SMA-TTL',
|
|
name_number: '2128',
|
|
name_codename: '',
|
|
price: 400,
|
|
image: '/images/shop/graphic-03_SMA-TTL.svg',
|
|
specs: [
|
|
'Same as above, but with SMA connectors.'
|
|
],
|
|
datasheet_file: '/docs/sinara-datasheets/2118-2128.pdf',
|
|
datasheet_name: '2118/2128 BNC/SMA-TTL datasheet',
|
|
options: [
|
|
{
|
|
"if": [
|
|
{"var": "ext_data.has_other_dio"},
|
|
[
|
|
{type: "Switch", args: {title: "Output first bank", fallback: true, outvar: "out_first_bank", tip: "Switch connectors 0-3 to output"}}
|
|
],
|
|
[
|
|
{type: "Switch", args: {title: "Output first bank", outvar: "out_first_bank", tip: "Switch connectors 0-3 to output"}}
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"if": [
|
|
{"!": {"var": "out_first_bank"}},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Termination #0", outvar: "term_0", tip: "Enable termination on channel #0"}},
|
|
{type: "Switch", args: {title: "Termination #1", outvar: "term_1", tip: "Enable termination on channel #1"}},
|
|
{type: "Switch", args: {title: "Termination #2", outvar: "term_2", tip: "Enable termination on channel #2"}},
|
|
{type: "Switch", args: {title: "Termination #3", outvar: "term_3", tip: "Enable termination on channel #3"}},
|
|
]},
|
|
null
|
|
]
|
|
},
|
|
{type: "Switch", args: {title: "Output second bank", outvar: "out_second_bank", fallback: true, tip: "Switch connectors 4-7 to output"}},
|
|
{
|
|
"if": [
|
|
{"!": {"var": "out_second_bank"}},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Termination #4", outvar: "term_4", tip: "Enable termination on channel #4"}},
|
|
{type: "Switch", args: {title: "Termination #5", outvar: "term_5", tip: "Enable termination on channel #5"}},
|
|
{type: "Switch", args: {title: "Termination #6", outvar: "term_6", tip: "Enable termination on channel #6"}},
|
|
{type: "Switch", args: {title: "Termination #7", outvar: "term_7", tip: "Enable termination on channel #7"}},
|
|
]},
|
|
null
|
|
]
|
|
},
|
|
{
|
|
"if": [
|
|
{"!": {"and": [{"var": "out_first_bank"}, {"var": "out_second_bank"}]}},
|
|
{type: "Switch", args: {title: "Edge counter", outvar: "edge_counter", tip: "Enable edge counter for inputs"}}
|
|
]
|
|
}
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 1
|
|
}
|
|
},
|
|
'mcx-dio': {
|
|
id: 'mcx-dio',
|
|
name: 'MCX-TTL',
|
|
name_number: '2238',
|
|
name_codename: '',
|
|
price: 600,
|
|
image: '/images/shop/graphic-03_MCX-TTL.svg',
|
|
specs: [
|
|
'16 single-ended digital signals on MCX connectors.',
|
|
'Direction selectable in banks of four signals.',
|
|
'Termination individually selectable for each signal.',
|
|
'No galvanic isolation.',
|
|
'Higher speed and lower jitter than the isolated SMA and BNC DIO cards.'
|
|
],
|
|
datasheet_file: '/docs/sinara-datasheets/2238.pdf',
|
|
datasheet_name: '2238 MCX-TTL datasheet',
|
|
options: [
|
|
{
|
|
"if": [
|
|
{"var": "ext_data.has_other_dio"},
|
|
[
|
|
{type: "Switch", args: {title: "Output first bank", fallback: true, outvar: "out_first_bank", tip: "Switch connectors 0-3 to output"}}
|
|
],
|
|
[
|
|
{type: "Switch", args: {title: "Output first bank", outvar: "out_first_bank", tip: "Switch connectors 0-3 to output"}}
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"if": [
|
|
{"!": {"var": "out_first_bank"}},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Termination #0", outvar: "term_0", tip: "Enable termination on channel #0"}},
|
|
{type: "Switch", args: {title: "Termination #1", outvar: "term_1", tip: "Enable termination on channel #1"}},
|
|
{type: "Switch", args: {title: "Termination #2", outvar: "term_2", tip: "Enable termination on channel #2"}},
|
|
{type: "Switch", args: {title: "Termination #3", outvar: "term_3", tip: "Enable termination on channel #3"}},
|
|
]}
|
|
]
|
|
},
|
|
{type: "Switch", args: {title: "Output second bank", outvar: "out_second_bank", fallback: true, tip: "Switch connectors 4-7 to output"}},
|
|
{
|
|
"if": [
|
|
{"!": {"var": "out_second_bank"}},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Termination #4", outvar: "term_4", tip: "Enable termination on channel #4"}},
|
|
{type: "Switch", args: {title: "Termination #5", outvar: "term_5", tip: "Enable termination on channel #5"}},
|
|
{type: "Switch", args: {title: "Termination #6", outvar: "term_6", tip: "Enable termination on channel #6"}},
|
|
{type: "Switch", args: {title: "Termination #7", outvar: "term_7", tip: "Enable termination on channel #7"}},
|
|
]}
|
|
]
|
|
},
|
|
{type: "Switch", args: {title: "Output third bank", outvar: "out_third_bank", fallback: true, tip: "Switch connectors 8-11 to output"}},
|
|
{
|
|
"if": [
|
|
{"!": {"var": "out_third_bank"}},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Termination #8", outvar: "term_8", tip: "Enable termination on channel #8"}},
|
|
{type: "Switch", args: {title: "Termination #9", outvar: "term_9", tip: "Enable termination on channel #9"}},
|
|
{type: "Switch", args: {title: "Termination #10", outvar: "term_10", tip: "Enable termination on channel #10"}},
|
|
{type: "Switch", args: {title: "Termination #11", outvar: "term_11", tip: "Enable termination on channel #11"}},
|
|
]}
|
|
]
|
|
},
|
|
{type: "Switch", args: {title: "Output fourth bank", outvar: "out_fourth_bank", fallback: true, tip: "Switch connectors 12-15 to output"}},
|
|
{
|
|
"if": [
|
|
{"!": {"var": "out_fourth_bank"}},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Termination #12", outvar: "term_12", tip: "Enable termination on channel #12"}},
|
|
{type: "Switch", args: {title: "Termination #13", outvar: "term_13", tip: "Enable termination on channel #13"}},
|
|
{type: "Switch", args: {title: "Termination #14", outvar: "term_14", tip: "Enable termination on channel #14"}},
|
|
{type: "Switch", args: {title: "Termination #15", outvar: "term_15", tip: "Enable termination on channel #15"}},
|
|
]}
|
|
]
|
|
},
|
|
{
|
|
"if": [
|
|
{"!": {"and": [{"var": "out_first_bank"}, {"var": "out_second_bank"}, {"var": "out_third_bank"}, {"var": "out_fourth_bank"}]}},
|
|
{type: "Switch", args: {title: "Edge counter", outvar: "edge_counter", tip: "Enable edge counter for inputs"}}
|
|
]
|
|
}
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 2
|
|
}
|
|
},
|
|
'rj45-dio': {
|
|
id: 'rj45-dio',
|
|
name: 'LVDS-TTL',
|
|
name_number: '2245',
|
|
name_codename: '',
|
|
price: 390,
|
|
image: '/images/shop/graphic-03_LVDS.svg',
|
|
specs: [
|
|
'Supplies 16 LVDS pairs via 4 front-panel RJ45 connectors.',
|
|
'Each RJ45 supplies 4 LVDS DIOs.',
|
|
'Direction individually selectable for each signal.',
|
|
'No galvanic isolation.',
|
|
'Higher speed and lower jitter than the isolated SMA and BNC DIO cards.'
|
|
],
|
|
datasheet_file: '/docs/sinara-datasheets/2245.pdf',
|
|
datasheet_name: '2245 LVDS-TTL datasheet',
|
|
options: [
|
|
{type: "Switch", args: {title: "Configure first RJ45", fallback: false, outvar: "conf_first_rj45", tip: "Configure channels 0-3"}},
|
|
{
|
|
"if": [
|
|
{"var": "conf_first_rj45"},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Output channel #0", fallback: true, outvar: "output_0", tip: "Set channel #0 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #1", fallback: true, outvar: "output_1", tip: "Set channel #1 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #2", fallback: true, outvar: "output_2", tip: "Set channel #2 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #3", fallback: true, outvar: "output_3", tip: "Set channel #3 to output"}},
|
|
]}
|
|
]
|
|
},
|
|
{type: "Switch", args: {title: "Configure second RJ45", fallback: false, outvar: "conf_second_rj45", tip: "Configure channels 4-7"}},
|
|
{
|
|
"if": [
|
|
{"var": "conf_second_rj45"},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Output channel #4", fallback: true, outvar: "output_4", tip: "Set channel #4 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #5", fallback: true, outvar: "output_5", tip: "Set channel #5 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #6", fallback: true, outvar: "output_6", tip: "Set channel #6 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #7", fallback: true, outvar: "output_7", tip: "Set channel #7 to output"}},
|
|
]}
|
|
]
|
|
},
|
|
{type: "Switch", args: {title: "Configure third RJ45", fallback: false, outvar: "conf_third_rj45", tip: "Configure channels 8-11"}},
|
|
{
|
|
"if": [
|
|
{"var": "conf_third_rj45"},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Output channel #8", fallback: true, outvar: "output_8", tip: "Set channel #8 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #9", fallback: true, outvar: "output_9", tip: "Set channel #9 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #10", fallback: true, outvar: "output_10", tip: "Set channel #10 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #11", fallback: true, outvar: "output_11", tip: "Set channel #11 to output"}},
|
|
]}
|
|
]
|
|
},
|
|
{type: "Switch", args: {title: "Configure fourth RJ45", fallback: false, outvar: "conf_fourth_rj45", tip: "Configure channels 12-15"}},
|
|
{
|
|
"if": [
|
|
{"var": "conf_fourth_rj45"},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Output channel #12", fallback: true, outvar: "output_12", tip: "Set channel #12 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #13", fallback: true, outvar: "output_13", tip: "Set channel #13 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #14", fallback: true, outvar: "output_14", tip: "Set channel #14 to output"}},
|
|
{type: "Switch", args: {title: "Output channel #15", fallback: true, outvar: "output_15", tip: "Set channel #15 to output"}},
|
|
]}
|
|
]
|
|
},
|
|
{
|
|
"if": [
|
|
{"or": [
|
|
{"and": [{"var": "conf_first_rj45"}, {"!": {"missing": ["output_0", "output_1", "output_2", "output_3"]}}, {"!": {"and": [{"var": "output_0"}, {"var": "output_1"}, {"var": "output_2"},{"var": "output_3"}]}}]},
|
|
{"and": [{"var": "conf_second_rj45"}, {"!": {"missing": ["output_4", "output_5", "output_6", "output_7"]}}, {"!": {"and": [{"var": "output_4"}, {"var": "output_5"}, {"var": "output_6"},{"var": "output_7"}]}}]},
|
|
{"and": [{"var": "conf_third_rj45"}, {"!": {"missing": ["output_8", "output_9", "output_10", "output_11"]}}, {"!": {"and": [{"var": "output_8"}, {"var": "output_9"}, {"var": "output_10"},{"var": "output_11"}]}}]},
|
|
{"and": [{"var": "conf_fourth_rj45"}, {"!": {"missing": ["output_12", "output_13", "output_14", "output_15"]}}, {"!": {"and": [{"var": "output_12"}, {"var": "output_13"}, {"var": "output_14"},{"var": "output_15"}]}}]}
|
|
]},
|
|
{type: "Switch", args: {title: "Edge counter", outvar: "edge_counter", tip: "Enable edge counter for inputs"}}
|
|
]
|
|
}
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 2
|
|
}
|
|
},
|
|
'urukul': {
|
|
id: 'urukul',
|
|
name: 'DDS',
|
|
name_number: '4410',
|
|
name_codename: 'Urukul',
|
|
price: 2350,
|
|
image: '/images/shop/graphic-03_Urukul.svg',
|
|
specs: [
|
|
'4 channel 1GS/s DDS.',
|
|
'Output frequency (-3 dB): <1 to >400 MHz.',
|
|
'Frequency resolution ~0.25 Hz (32 bit)',
|
|
'Nominal max output power 10 dBm.',
|
|
'Digital step attenuator 0 to -31.5dB.',
|
|
'RF switch (1ns temporal resolution), 70dB isolation.',
|
|
'AD9910 and AD9912 cards can be used at the same time in the same crate.',
|
|
'Power amplifier (e.g. AOM driver) options available, contact us for details.',
|
|
'Can be integrated and shipped with single- or double-pass fiber-coupled AOM at most wavelengths 400nm-1650nm, AOM driver, low-noise monitor PD and SU-Servo to reduce laser, AOM and fiber noise. Contact us for details.'
|
|
],
|
|
datasheet_file: '/docs/sinara-datasheets/4410-4412.pdf',
|
|
datasheet_name: '4410/4412 Urukul datasheet',
|
|
options: [
|
|
{type: "Switch", args: {title: "Use 1 EEM", outvar: "mono_eem", tip: "Use one EEM port setup. RF switch and synchronization will be unavailable."}},
|
|
{
|
|
"if": [
|
|
{"var": "mono_eem"},
|
|
[
|
|
{type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk",
|
|
validator: {name: "frequency", params: {min: 10e6, max: 1e9}},
|
|
fallback: {text: "125 MHz", checked: false}}},
|
|
],
|
|
[
|
|
{type: "Switch", args: {title: "Synchronization", outvar: "sync", tip: "Synchronize phases across Urukuls"}},
|
|
{
|
|
"if": [
|
|
{"var": "sync"},
|
|
null,
|
|
[
|
|
{type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk",
|
|
validator: {name: "frequency", params: {min: 10e6, max: 1e9}},
|
|
fallback: {text: "125 MHz", checked: false}}},
|
|
{
|
|
"if": [
|
|
{"var": "ext_data.has_sampler"},
|
|
{type: "Switch", args: {title: "SUServo mode", outvar: "suservo"}},
|
|
null
|
|
]
|
|
}
|
|
]
|
|
]
|
|
}
|
|
]
|
|
]
|
|
}
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source",
|
|
"no_clk_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 2,
|
|
clk: 1
|
|
}
|
|
},
|
|
'urukul_4412': {
|
|
id: 'urukul_4412',
|
|
name: 'DDS',
|
|
name_number: '4412',
|
|
name_codename: 'Urukul',
|
|
price: 2350,
|
|
image: '/images/shop/graphic-03_Urukul-4412.svg',
|
|
specs: [
|
|
'4 channel 1GS/s DDS.',
|
|
'Higher frequency resolution ~8 µHz (47 bit)',
|
|
'Output frequency (-3 dB): <1 to >400 MHz.',
|
|
'Nominal max output power 10 dBm.',
|
|
'Digital step attenuator 0 to -31.5dB.',
|
|
'RF switch (1ns temporal resolution), 70dB isolation.',
|
|
'AD9912 chip.',
|
|
'AD9910 and AD9912 cards can be used at the same time in the same crate.',
|
|
'Power amplifier (e.g. AOM driver) options available, contact us for details.',
|
|
'Can be integrated and shipped with single- or double-pass fiber-coupled AOM at most wavelengths 400nm-1650nm, and AOM driver. Contact us for details.'
|
|
],
|
|
datasheet_file: '/docs/sinara-datasheets/4410-4412.pdf',
|
|
datasheet_name: '4410/4412 Urukul datasheet',
|
|
options: [
|
|
{type: "Switch", args: {title: "Use 1 EEM", outvar: "mono_eem", tip: "Use one EEM port setup. RF switch and synchronization will be unavailable."}},
|
|
{type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk",
|
|
validator: {name: "frequency", params: {min: 10e6, max: 1e9}},
|
|
fallback: {text: "125 MHz", checked: false}}}
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source",
|
|
"no_clk_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 2,
|
|
clk: 1
|
|
}
|
|
},
|
|
'phaser': {
|
|
id: 'phaser',
|
|
name: 'AWG',
|
|
name_number: '4624',
|
|
name_codename: 'Phaser',
|
|
price: 4260,
|
|
image: '/images/shop/graphic-03_Phaser.svg',
|
|
specs: [
|
|
'2x 1.25 GS/s IQ upconverters.',
|
|
'dual IQ mixer + 0.3 GHz to 4.8 GHz VCO + PLL.',
|
|
'up to 16 dynamic tones using MIQRO gateware (available separately from QUARTIQ).',
|
|
'31.5 dB range digital step attenuator (similar to Urukul).',
|
|
'2 channels of 5 MS/s ADC (similar to Sampler).',
|
|
'Artix-7 FPGA.',
|
|
'Internal MMCX clock from Kasli/Clocker and external SMA.',
|
|
'The upconverter is optional, if you would like the baseband version please leave us a note.'
|
|
],
|
|
options: [
|
|
{type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk",
|
|
validator: {name: "frequency", params: {min: 10e6, max: 1e9}},
|
|
fallback: {text: "125 MHz", checked: false}}},
|
|
{type: "Radio", args: {title: "Variant", outvar: "variant", variants: ["Baseband", "Upconverter"], fallback: 1}},
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source",
|
|
"no_clk_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 1,
|
|
clk: 1
|
|
}
|
|
},
|
|
'zotino': {
|
|
id: 'zotino',
|
|
name: 'DAC',
|
|
name_number: '5432',
|
|
name_codename: 'Zotino',
|
|
price: 1600,
|
|
image: '/images/shop/graphic-03_Zotino.svg',
|
|
specs: [
|
|
'32-channel DAC.',
|
|
'16-bit resolution.',
|
|
'1 MSPS shared between all channels.',
|
|
'Output voltage +-10V.',
|
|
'HD68 connector with all channels.',
|
|
'Channels can also be broken out to BNC or SMA using IDC-BNC, IDC-SMA or IDC-MCX cards.',
|
|
'DAC temperature can be stabilized using the Sinara 8451 Thermostat (sold separately).'
|
|
],
|
|
options: [
|
|
{
|
|
"if": [
|
|
{"var": "ext_data.has_thermostat"},
|
|
[
|
|
{type: "Switch", args: {title: "TEC", outvar: "tec", fallback: true, tip: "Used for stabilizing temperature with Sinara 8451 Thermostat"}}
|
|
],
|
|
[
|
|
{type: "Switch", args: {title: "TEC", outvar: "tec", tip: "Used for stabilizing temperature with Sinara 8451 Thermostat"}}
|
|
]
|
|
]
|
|
}
|
|
],
|
|
datasheet_file: '/docs/sinara-datasheets/5432.pdf',
|
|
datasheet_name: '5432 Zotino datasheet',
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source",
|
|
"idc_resource"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 1,
|
|
tec: 1
|
|
},
|
|
resources: [
|
|
{name: "idc", max: 4}
|
|
]
|
|
},
|
|
'fastino': {
|
|
id: 'fastino',
|
|
name: 'DAC',
|
|
name_number: '5632',
|
|
name_codename: 'Fastino',
|
|
price: 3390,
|
|
image: '/images/shop/graphic-03_Fastino.svg',
|
|
specs: [
|
|
'32-channel DAC.',
|
|
'16-bit resolution.',
|
|
'2 MSPS simultaneously on all channels (requires gateware acceleration).',
|
|
'Output voltage +-10V.',
|
|
'HD68 connector with all channels.',
|
|
'Channels can also be broken out to BNC or SMA using IDC-BNC, IDC-SMA or IDC-MCX cards.'
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source",
|
|
"idc_resource",
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 1
|
|
},
|
|
resources: [
|
|
{name: "idc", max: 4}
|
|
]
|
|
},
|
|
'idc-bnc-adapter': {
|
|
id: 'idc-bnc-adapter',
|
|
name: 'BNC-IDC',
|
|
name_number: '5518',
|
|
name_codename: '',
|
|
price: 160,
|
|
image: '/images/shop/graphic-03_IDC-BNC-adapter.svg',
|
|
specs: [
|
|
'Breaks out analog signals from Zotino or HD68-IDC to BNC connectors.',
|
|
'Each card provides 8 channels.',
|
|
'Breaking out all 32 channels from a Zotino requires 4 IDC-BNC cards.'
|
|
],
|
|
size: 'big',
|
|
warnings: [
|
|
"no_idc_source"
|
|
],
|
|
consumes: {
|
|
hp: 8,
|
|
idc: 1
|
|
}
|
|
},
|
|
'hvamp32': {
|
|
id: 'hvamp32',
|
|
name: 'HV Amplifier',
|
|
name_number: '5633',
|
|
name_codename: '',
|
|
price: 1500,
|
|
image: '/images/shop/graphic-03_HVAMP32.svg',
|
|
specs: [
|
|
'Amplifier: LTC6090 or OPA462, 32 channels.',
|
|
'Amplification range up to ±25V and ±55V available.',
|
|
'Over-temperature protection.',
|
|
'External 12V power supply.',
|
|
'Slew rate 21V/us typical.',
|
|
'Bandwidth: 12MHz/gain, for ±25V range BW is 4.8MHz typical.',
|
|
'The same connector as in Zotino and Fastino.'
|
|
],
|
|
options: [
|
|
{type: "Radio",
|
|
args: {
|
|
title: "Amplification range",
|
|
outvar: "hvamp",
|
|
variants: ["±25V", "±55V"],
|
|
fallback: 0
|
|
}},
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_idc_source"
|
|
],
|
|
resources: [
|
|
{name: "idc", max: 4}
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
idc: 4
|
|
}
|
|
},
|
|
'idc-sma-adapter': {
|
|
id: 'idc-sma-adapter',
|
|
name: 'SMA-IDC',
|
|
name_number: '5528',
|
|
name_codename: '',
|
|
price: 160,
|
|
image: '/images/shop/graphic-03_SMA-IDC.svg',
|
|
specs: [
|
|
'Breaks out analog signals from Zotino or HD68-IDC to SMA connectors.',
|
|
'Each card provides 8 channels.',
|
|
'Breaking out all 32 channels from a Zotino requires 4 SMA-IDC cards.'
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_idc_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
idc: 1
|
|
}
|
|
},
|
|
'idc-mcx-adapter': {
|
|
id: 'idc-mcx-adapter',
|
|
name: 'MCX-IDC',
|
|
name_number: '5538',
|
|
name_codename: '',
|
|
price: 320,
|
|
image: '/images/shop/graphic-03_MCX-IDC32.svg',
|
|
specs: [
|
|
'Breaks out analog signals from Zotino or HD68-IDC to MCX connectors.',
|
|
'Each card provides 32 channels.',
|
|
],
|
|
size: 'big',
|
|
type: 'idc-bnc',
|
|
warnings: [
|
|
"no_idc_source"
|
|
],
|
|
consumes: {
|
|
hp: 8,
|
|
idc: 4
|
|
}
|
|
},
|
|
'hd68-idc-adapter': {
|
|
id:'hd68-idc-adapter',
|
|
name: 'HD68-IDC',
|
|
name_number: '5568',
|
|
name_codename: '',
|
|
price: 150,
|
|
image: '/images/shop/graphic-03_HD68.svg',
|
|
specs: [
|
|
'Connects an external HD68 cable to IDC-BNC, IDC-SMA or IDC-MCX cards.',
|
|
],
|
|
size: 'small',
|
|
options: [
|
|
{type: "Radio", args: {title: "Cable length", outvar: "hd68_cable_len", variants: ["1 M", "2 M", "3 M"], tip: "The desired length of the HD68 cable", fallback: 1}},
|
|
],
|
|
options_class: "hd68-idc",
|
|
warnings: [
|
|
"idc_resource"
|
|
],
|
|
consumes: {
|
|
hp: 4
|
|
},
|
|
resources: [
|
|
{name: "idc", max: 4}
|
|
]
|
|
},
|
|
'novo': {
|
|
id: 'novo',
|
|
name: 'Sampler',
|
|
name_number: '5108',
|
|
name_codename: '',
|
|
price: 1600,
|
|
image: '/images/shop/graphic-03_Sampler.svg',
|
|
specs: [
|
|
'8-channel ADC.',
|
|
'16-bit resolution.',
|
|
'1.5 MSPS simultaneously on all channels.',
|
|
'When used with ARTIQ-Python driver, effective sample rate is lower.',
|
|
'Digitally programmable input gain.',
|
|
'Full-scale input ranges between +-10mV and +-10V.',
|
|
'Supports SU-Servo laser intensity stabilization servo in conjunction with Urukul.'
|
|
],
|
|
options: [
|
|
{type: "Switch", args: {title: "1 EEM mode", outvar: "mono_eem"}},
|
|
{
|
|
"if": [
|
|
{"and": [{"var": "ext_data.has_dds"}, {"!": {"var": "mono_eem"}}]},
|
|
{type: "Switch", args: {title: "SUServo mode", outvar: "suservo"}},
|
|
null
|
|
]
|
|
},
|
|
{type: "Switch", args: {title: "Configure termination", outvar: "config_term"}},
|
|
{
|
|
"if": [
|
|
{"var": "config_term"},
|
|
{type: "Group", items: [
|
|
{type: "Switch", args: {title: "Termination #0", outvar: "term_0", tip: "Enable termination on channel #0"}},
|
|
{type: "Switch", args: {title: "Termination #1", outvar: "term_1", tip: "Enable termination on channel #1"}},
|
|
{type: "Switch", args: {title: "Termination #2", outvar: "term_2", tip: "Enable termination on channel #2"}},
|
|
{type: "Switch", args: {title: "Termination #3", outvar: "term_3", tip: "Enable termination on channel #3"}},
|
|
{type: "Switch", args: {title: "Termination #4", outvar: "term_4", tip: "Enable termination on channel #4"}},
|
|
{type: "Switch", args: {title: "Termination #5", outvar: "term_5", tip: "Enable termination on channel #5"}},
|
|
{type: "Switch", args: {title: "Termination #6", outvar: "term_6", tip: "Enable termination on channel #6"}},
|
|
{type: "Switch", args: {title: "Termination #7", outvar: "term_7", tip: "Enable termination on channel #7"}},
|
|
]}]
|
|
}
|
|
],
|
|
size: 'big',
|
|
warnings: [
|
|
"no_eem_source"
|
|
],
|
|
consumes: {
|
|
hp: 8,
|
|
eem: 2
|
|
}
|
|
},
|
|
'koster': {
|
|
id: 'koster',
|
|
name: 'Grabber',
|
|
name_number: '6302',
|
|
name_codename: '',
|
|
price: 550,
|
|
image: '/images/shop/graphic-03_Grabber.svg',
|
|
specs: [
|
|
'Camera input interface card.',
|
|
'Supports some EMCCD cameras.',
|
|
'Allows image processing to occur in the FPGA with lower latency.',
|
|
'Existing stack supports summing over rectangular ROIs and reporting the result to ARTIQ kernels.',
|
|
'Camera signal is entirely processed in the Kasli FPGA.',
|
|
],
|
|
options: [
|
|
{type: "Radio", args: {title: "Connectors", outvar: "n_eem", variants: ["1 EEM", "2 EEM", "3 EEM"], tip: "Number of EEM ports to use.", fallback: 1}},
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 2
|
|
}
|
|
},
|
|
'clocker': {
|
|
id: 'clocker',
|
|
name: 'Clocker',
|
|
name_number: '7210',
|
|
name_codename: '',
|
|
price: 525,
|
|
image: '/images/shop/graphic-03_Clocker.svg',
|
|
specs: [
|
|
'Distribute a low jitter clock signal among cards.',
|
|
'2 inputs.',
|
|
'10 outputs including 4 SMAs.',
|
|
'Frequency up to 1GHz.',
|
|
'Low jitter <100fs RMS.'
|
|
],
|
|
options: [
|
|
{type: "Switch", args: {title: "Ext CLK", outvar: "ext_clk"}},
|
|
{type: "Switch", args: {title: "Ext power", outvar: "ext_pwr", "tip": "Use external power supply in order to reduce number of used EEM connectors"}}
|
|
],
|
|
options_class: "clocker",
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source",
|
|
"no_clk_source",
|
|
"clk_resource"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 1,
|
|
clk: 1
|
|
},
|
|
resources: [
|
|
{name: "clk", max: 6}
|
|
]
|
|
},
|
|
'stabilizer': {
|
|
id: 'stabilizer',
|
|
name: 'DSP',
|
|
name_number: '8452',
|
|
name_codename: 'Stabilizer',
|
|
price: 2000,
|
|
image: '/images/shop/graphic-03_Stabilizer.svg',
|
|
specs: [
|
|
'CPU-based dual-channel fast servo.',
|
|
'400MHz STM32H743ZIT6.',
|
|
'Dual 16bit ADC with x2, x5, x10 PGA (2MS/s).',
|
|
'16bit AD5542A DAC (1us settling time).',
|
|
'100Base-T Ethernet.',
|
|
'Can be controlled by Kasli or work stand-alone with PoE supply.'
|
|
],
|
|
options: [
|
|
{type: "SwitchLine", args: {title: "IP", outvar: "ip",
|
|
validator: {name: "ipv4or6"},
|
|
fallback: {text: "DHCP", checked: false},
|
|
tip: "Set up IP address used by the device"}},
|
|
{type: "SwitchLine", args: {title: "MQTT broker address", outvar: "broker",
|
|
validator: {name: "ipv4OrHost"},
|
|
fallback: {text: "mqtt", checked: false},
|
|
tip: "Set up domain name or IPv4 of the MQTT broker"}},
|
|
{type: "Switch", args: {title: "Ext power", outvar: "ext_pwr", "tip": "Use external power supply in order to reduce number of used EEM connectors"}},
|
|
{type: "Switch", args: {title: "Term #0", outvar: "term_0", tip: "Enable termination on ADC channel #0"}},
|
|
{type: "Switch", args: {title: "Term #1", outvar: "term_1", tip: "Enable termination on ADC channel #1"}}
|
|
],
|
|
crateless_options: [
|
|
{type: "SwitchLine", args: {title: "IP", outvar: "ip",
|
|
validator: {name: "ipv4or6"},
|
|
fallback: {text: "DHCP", checked: false},
|
|
tip: "Set up IP address used by the device"}},
|
|
{type: "SwitchLine", args: {title: "MQTT broker address", outvar: "broker",
|
|
validator: {name: "ipv4OrHost"},
|
|
fallback: {text: "mqtt", checked: false},
|
|
tip: "Set up domain name or IPv4 of the MQTT broker"}},
|
|
],
|
|
options_class: "stabilizer",
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 1
|
|
},
|
|
},
|
|
'fast_servo': {
|
|
id: 'fast_servo',
|
|
name: 'Fast DSP',
|
|
name_number: '8462',
|
|
name_codename: 'Fast Servo',
|
|
price: 2900,
|
|
image: '/images/shop/graphic-03_Fast-Servo.svg',
|
|
specs: [
|
|
'High-speed, low-latency servo (Stabilizer-compatible) module.',
|
|
'Trenz TE0715-04 SoC module (XC7Z015).',
|
|
'2 channel 125MHz 16bit ADC (LTC2195).',
|
|
'2 channel 125MHz 14bit DAC (AD9117).',
|
|
'100Base-T Ethernet.',
|
|
'Can work stand-alone with PoE or DC supply.'
|
|
],
|
|
options: [
|
|
{type: "SwitchLine", args: {title: "IP", outvar: "ip",
|
|
validator: {name: "ipv4or6"},
|
|
fallback: {text: "DHCP", checked: false},
|
|
tip: "Set up IP address used by the device"}},
|
|
{type: "SwitchLine", args: {title: "MQTT broker address", outvar: "broker",
|
|
validator: {name: "ipv4OrHost"},
|
|
fallback: {text: "mqtt", checked: false},
|
|
tip: "Set up domain name or IPv4 of the MQTT broker"}},
|
|
{type: "Switch", args: {title: "Ext power", outvar: "ext_pwr", "tip": "Use external power supply in order to reduce number of used EEM connectors"}},
|
|
{type: "Switch", args: {title: "Term #0", outvar: "term_0", tip: "Enable termination on ADC channel #0"}},
|
|
{type: "Switch", args: {title: "Term #1", outvar: "term_1", tip: "Enable termination on ADC channel #1"}}
|
|
],
|
|
crateless_options: [
|
|
{type: "SwitchLine", args: {title: "IP", outvar: "ip",
|
|
validator: {name: "ipv4or6"},
|
|
fallback: {text: "DHCP", checked: false},
|
|
tip: "Set up IP address used by the device"}},
|
|
{type: "SwitchLine", args: {title: "MQTT broker address", outvar: "broker",
|
|
validator: {name: "ipv4OrHost"},
|
|
fallback: {text: "mqtt", checked: false},
|
|
tip: "Set up domain name or IPv4 of the MQTT broker"}},
|
|
],
|
|
options_class: "stabilizer",
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 1
|
|
},
|
|
},
|
|
'mirny': {
|
|
id: 'mirny',
|
|
name: 'Synthesizer',
|
|
name_number: '4456',
|
|
name_codename: 'Mirny',
|
|
price: 2660,
|
|
image: '/images/shop/graphic-03_Mirny.svg',
|
|
specs: [
|
|
'4-channel Wide-band PLL/VCO-based microwave frequency synthesiser.',
|
|
'53 MHz to >4 GHz.',
|
|
'Up to 13.6 GHz when using the mezzanine.',
|
|
'Much higher frequency resolution than Urukul.',
|
|
'Lower jitter and phase noise.',
|
|
'Large frequency changes take several milliseconds.',
|
|
],
|
|
options: [
|
|
{type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk",
|
|
validator: {name: "frequency", params: {min: 10e6, max: 600e6}},
|
|
fallback: {text: "125 MHz", checked: false}}}
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source",
|
|
"no_clk_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 1,
|
|
clk: 1
|
|
},
|
|
},
|
|
'almazny': {
|
|
id: 'almazny',
|
|
name: 'HF Synthesizer',
|
|
name_number: '4457',
|
|
name_codename: 'Mirny + Almazny',
|
|
price: 3660,
|
|
image: '/images/shop/graphic-03_Almazny.svg',
|
|
specs: [
|
|
'Mirny with high frequency mezzanine.',
|
|
'Additional 4 channels up to 12 GHz.',
|
|
'Each Almazny channel outputs twice the frequency of its corresponding Mirny channel.',
|
|
],
|
|
options: [
|
|
{type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk",
|
|
validator: {name: "frequency", params: {min: 10e6, max: 600e6}},
|
|
fallback: {text: "125 MHz", checked: false}}}
|
|
],
|
|
size: 'big',
|
|
warnings: [
|
|
"no_eem_source",
|
|
"no_clk_source"
|
|
],
|
|
consumes: {
|
|
hp: 8,
|
|
eem: 1,
|
|
clk: 1
|
|
},
|
|
},
|
|
'thermostat-eem': {
|
|
id: 'thermostat-eem',
|
|
name: 'Thermostat EEM',
|
|
name_number: '8453',
|
|
name_codename: '',
|
|
price: 2600,
|
|
image: '/images/shop/graphic-03_Thermostat-EEM.svg',
|
|
specs: [
|
|
'4 TEC channels.',
|
|
'Sensor channel count: 8 differential, 16 single-ended.',
|
|
'Output HD44 DSUB connector.',
|
|
'Up to 8W (+/-2A with 4V compliance) heater/TEC drive from MAX1968 drivers.',
|
|
'Up to 16W (+4A 4V) from MAX1969 drivers.',
|
|
'100Base-T Ethernet with PoE.'
|
|
],
|
|
options: [
|
|
{type: "Switch", args: {title: "Ext power", outvar: "ext_pwr", "tip": "Use external power supply in order to reduce number of used EEM connectors"}},
|
|
{type: "SwitchLine", args: {title: "Static IPv4", outvar: "ip",
|
|
validator: {name: "ipv4"},
|
|
fallback: {text: "0.0.0.0", checked: false},
|
|
tip: "Set up static IPv4 address used by the device"}},
|
|
{type: "SwitchLine", args: {title: "MQTT broker address", outvar: "broker",
|
|
validator: {name: "ipv4OrHost"},
|
|
fallback: {text: "mqtt", checked: false},
|
|
tip: "Set up domain name or IPv4 of the MQTT broker"}},
|
|
],
|
|
crateless_options: [
|
|
{type: "SwitchLine", args: {title: "Static IPv4", outvar: "ip",
|
|
validator: {name: "ipv4"},
|
|
fallback: {text: "0.0.0.0", checked: false},
|
|
tip: "Set up static IPv4 address used by the device"}},
|
|
{type: "SwitchLine", args: {title: "MQTT broker address", outvar: "broker",
|
|
validator: {name: "ipv4OrHost"},
|
|
fallback: {text: "mqtt", checked: false},
|
|
tip: "Set up domain name or IPv4 of the MQTT broker"}},
|
|
],
|
|
size: 'small',
|
|
warnings: [
|
|
"no_eem_source"
|
|
],
|
|
consumes: {
|
|
hp: 4,
|
|
eem: 1,
|
|
}
|
|
},
|
|
'thermostat2ch': {
|
|
id: 'thermostat2ch',
|
|
name: 'Thermostat',
|
|
name_number: '8451',
|
|
name_codename: '',
|
|
price: 900,
|
|
image: '/images/shop/graphic-03_Thermostat2ch.svg',
|
|
specs: [
|
|
'2 TEC channels.',
|
|
'Parallel output 10 pin IDC 2.54mm and 5 pin 3.81mm connectors per channel.',
|
|
'Up to 8W (+/-2A with 4V compliance) heater/TEC drive from MAX1968 drivers.',
|
|
'100Base-T Ethernet with PoE.',
|
|
'Can stabilize temperature of Sinara 5432 DAC or external devices containing TEC and thermistor.'
|
|
],
|
|
crateless_options: [
|
|
{type: "SwitchLine", args: {title: "IPv4", outvar: "ip",
|
|
validator: {name: "ipv4"},
|
|
fallback: {text: "192.168.1.26/24", checked: false},
|
|
tip: "Set up IP address used by the device"}},
|
|
],
|
|
size: 'small',
|
|
consumes: {
|
|
hp: 4
|
|
},
|
|
resources: [
|
|
{name: "tec", max: 2}
|
|
]
|
|
},
|
|
'shuttler': {
|
|
id: 'shuttler',
|
|
name: 'DAC',
|
|
name_number: '5716',
|
|
name_codename: 'Shuttler',
|
|
price: 8500,
|
|
image: '/images/shop/graphic-03_Shuttler.svg',
|
|
specs: [
|
|
'16-ch, 125 MSPS DAC EEM with remote analog front end board.',
|
|
'High DC resolution (up to ~18 bits with sigma-delta modulation) for trap electrode bias.',
|
|
'~15MHz default analog bandwidth.',
|
|
'AD9117 DACs (14 bits @ 125 MSPS, <1 LSB DNL).',
|
|
'Differential analog output via mini-SAS HD with shielded impedance-matched pairs.',
|
|
'Included remote analog front-end (AFE) board converts differential signals to ±10V single-ended at the point of use, with additional gain and filtering.',
|
|
],
|
|
size: 'big',
|
|
warnings: [
|
|
"no_eem_source",
|
|
"no_clk_source"
|
|
],
|
|
consumes: {
|
|
hp: 8,
|
|
eem: 1,
|
|
clk: 1
|
|
},
|
|
},
|
|
'pounder': {
|
|
id: 'pounder',
|
|
name: 'PDH lock generator',
|
|
name_number: '4459',
|
|
name_codename: 'Stabilizer + Pounder',
|
|
price: 4460,
|
|
image: '/images/shop/graphic-03_Pounder.svg',
|
|
specs: [
|
|
'Stabilizer with Pounder daughter card.',
|
|
'2-channel Pound Drever Hall (PDH) lock generator.',
|
|
'AD9959 DDS (500MSPS, 10-bit).'
|
|
],
|
|
options: [
|
|
{type: "SwitchLine", args: {title: "IP", outvar: "ip",
|
|
validator: {name: "ipv4or6"},
|
|
fallback: {text: "DHCP", checked: false},
|
|
tip: "Set up IP address used by the device"}},
|
|
{type: "SwitchLine", args: {title: "MQTT broker address", outvar: "broker",
|
|
validator: {name: "ipv4OrHost"},
|
|
fallback: {text: "mqtt", checked: false},
|
|
tip: "Set up domain name or IPv4 of the MQTT broker"}},
|
|
{type: "Switch", args: {title: "Ext power", outvar: "ext_pwr", "tip": "Use external power supply in order to reduce number of used EEM connectors"}},
|
|
{type: "SwitchLine", args: {title: "Ext CLK", outvar: "ext_clk",
|
|
fallback: {text: "125 MHz", checked: false}, validator: {name: "frequency", params: {min: 10e6, max: 1e9}}}},
|
|
{type: "Switch", args: {title: "Termination #0", outvar: "term_0", tip: "Enable termination on ADC channel #0"}},
|
|
{type: "Switch", args: {title: "Termination #1", outvar: "term_1", tip: "Enable termination on ADC channel #1"}}
|
|
],
|
|
crateless_options: [
|
|
{type: "SwitchLine", args: {title: "Static IPv4", outvar: "ip",
|
|
validator: {name: "ipv4"},
|
|
fallback: {text: "0.0.0.0", checked: false},
|
|
tip: "Set up static IPv4 address used by the device"}},
|
|
{type: "SwitchLine", args: {title: "MQTT broker address", outvar: "broker",
|
|
validator: {name: "ipv4OrHost"},
|
|
fallback: {text: "mqtt", checked: false},
|
|
tip: "Set up domain name or IPv4 of the MQTT broker"}},
|
|
],
|
|
size: 'big',
|
|
warnings: [
|
|
"no_eem_source",
|
|
"no_clk_source"
|
|
],
|
|
consumes: {
|
|
hp: 8,
|
|
eem: 1,
|
|
clk: 1
|
|
}
|
|
},
|
|
'eem_pwr_mod': {
|
|
id: 'eem_pwr_mod',
|
|
name: 'EEM AC Power Module',
|
|
name_number: '1106',
|
|
name_codename: '',
|
|
price: 750,
|
|
image: '/images/shop/graphic-03_eem_pwr_mod.svg',
|
|
specs: [
|
|
"EEM AC power module.",
|
|
"400W with forced cooling (25CFM), 200W with free air convection.",
|
|
"Universal input.",
|
|
"IEC inlet on front panel.",
|
|
"EMC filter.",
|
|
"LED current indicator.",
|
|
"6 rear side outputs.",
|
|
"Mains circuit protected with steel cover.",
|
|
"Optional - external power brick will be shipped free of charge if removed."
|
|
],
|
|
size: 'big',
|
|
warnings: [],
|
|
consumes: {
|
|
hp: 8,
|
|
},
|
|
},
|
|
'kirdy': {
|
|
id: 'kirdy',
|
|
name: 'Laser diode driver',
|
|
name_number: '1550',
|
|
name_codename: 'Kirdy',
|
|
price: 1700,
|
|
image: '/images/shop/graphic-03_Kirdy.svg',
|
|
specs: [
|
|
"Precision LD driver: 300mA max output current, 20-bit resolution, 4V compliance voltage.",
|
|
"RMS noise 10Hz-1MHz: <200nA, density <300pA/√Hz.",
|
|
"Low-frequency modulation input, DC-18MHz 3dB bandwidth, suitable for laser locks and linewidth reduction.",
|
|
"High-frequency Bias-T modulation input, suitable for PDH sideband generation.",
|
|
"Monitor photodiode and LD protection.",
|
|
"Temperature controller: ±1A max current, sub-mK stability.",
|
|
"Full digital control and power over Ethernet.",
|
|
"Can ship with single-frequency narrow-linewidth laser pre-installed (1270-1610nm from USD +200.00, 633-1064nm from USD +4,000.00), fiber output on front panel.",
|
|
"Also suitable for commercial or homebuilt ECDL heads (with additional piezo driver), and injection-locked Fabry-Perot diodes."
|
|
],
|
|
options: [
|
|
{type: "Line", args: {title: "IP", outvar: "ip",
|
|
validator: {name: "ipv4"},
|
|
fallback: "192.168.1.128/24",
|
|
tip: "Set up IP address used by the device."}},
|
|
],
|
|
size: 'big',
|
|
type: null,
|
|
warnings: [],
|
|
consumes: {
|
|
hp: 8,
|
|
},
|
|
},
|
|
},
|
|
|
|
columns: {
|
|
/***
|
|
* catalog is the column containing all items on left aside,
|
|
* name should not change
|
|
*/
|
|
'catalog': {
|
|
id: 'catalog',
|
|
title: 'Catalog',
|
|
/* itemIds define items order - change order to suit your need */
|
|
categories: [
|
|
{ name: 'Core',
|
|
itemIds: [
|
|
'kasli',
|
|
'kaslisoc']},
|
|
{ name: 'TTL',
|
|
itemIds: [
|
|
'bnc-dio',
|
|
'sma-dio',
|
|
'mcx-dio',
|
|
'rj45-dio']},
|
|
{ name: 'RF',
|
|
itemIds: [
|
|
'clocker',
|
|
'urukul',
|
|
'urukul_4412',
|
|
'phaser',
|
|
'mirny',
|
|
'almazny',
|
|
'pounder']},
|
|
{ name: 'DAC/ADC',
|
|
itemIds: [
|
|
'zotino',
|
|
'fastino',
|
|
'hvamp32',
|
|
'novo',
|
|
'shuttler']},
|
|
{ name: 'Adapters',
|
|
itemIds: [
|
|
'idc-bnc-adapter',
|
|
'idc-sma-adapter',
|
|
'idc-mcx-adapter',
|
|
'hd68-idc-adapter',
|
|
'vhdcicarrier']},
|
|
{ name: 'Servos',
|
|
itemIds: [
|
|
'stabilizer',
|
|
'fast_servo',
|
|
'pounder',
|
|
'thermostat2ch',
|
|
'thermostat-eem']},
|
|
{ name: 'Misc',
|
|
itemIds: [
|
|
'koster',
|
|
'eem_pwr_mod',
|
|
'kirdy',
|
|
]}
|
|
],
|
|
},
|
|
|
|
"crates": [{
|
|
id: "crate0",
|
|
crate_mode: "rack",
|
|
fan_tray: false,
|
|
items: [],
|
|
warnings: [],
|
|
occupiedHP: 0,
|
|
},
|
|
{
|
|
id: "spare",
|
|
name: "Spare cards",
|
|
crate_mode: "no_crate",
|
|
items: [],
|
|
warnings: [],
|
|
occupiedHP: 0,
|
|
}
|
|
]
|
|
|
|
},
|
|
};
|
|
|
|
|
|
window.shop_data = shop_data;
|