Adding wrong devices to the device database should normally not cause damage (but sending excessive RF power will).
Looks like you have a Kasli 2.0 with no RTIO LEDs. Use the TTL channels instead.
Problem with running the simple LED.py script
- Edited
sb10q I have now solved this issue by using a simple RJ45 ethernet cable instead of an usb to gigabit ethernet cable I was using before. Although the Kasli Ip address is 10.34.16.100 I have had to set the computer IP address to 10.34.16.101 for it to connect. I tried running a python script in the same folder as device_db.py to turn ttl6 on and off which can be seen below however ttl6 seems to be on at all times. It is on when I switch on the Kasli and the script is not switching it off. Furthermore I got the following warning.
WARNING:artiq.coredevice.comm_kernel:Mismatch between gateware (6.7477.d672d2fc.beta) and software (6.7538.261870bd.beta) versions
I have seen from your other posts related to this issue that small version differences should not be protocol breaking and therefore it should be fine ignore this warning. As the system has come pre flashed I didnt want to flash it again and lose any functionalities. This error came about because I installed the latest version of conda in a new enviroment, but this was because my previous software version was still different to the gateware. Could you please advise me, as I should be able to move ahead once I know I can properly communicate with the Kasli
This is the file that I want to run
`
from artiq.experiment import * #imports everything from artiq experiment library
#minimum working code for using TTL6
#turns output on, off, and then pulses it
#to view the trace from this on a scope, use a single trigger with at least 16ms measured on scope
class TTL_Output_On_Off_Pulse(EnvExperiment):
"""TTL Output On, Off, Pulse"""
def build(self): #This code rus on host device
self.setattr_device("core") #sets core device drivers as attributes
self.setattr_device("ttl6") #sets ttl6 device drivers as attributes
@kernel #this code runs on the FPGA
def run(self):
self.core.reset() #resets core device
self.ttl6.output() #sets TTL6 as an output
delay(1*us) #moves timestamp forward to prevent collision between ttl6.output and ttl6.on although appears not to be neccessary in this case.
#self.ttl6.on() #sets TTL6 output to high
#delay(500*ms) #5000ms delay
self.ttl6.on() #sets TTL6 output to low
#delay(500*ms) #5000ms delay
#self.ttl6.pulse(5*ms) #sets TTL6 output high for 5ms then sets it to low
#delay(1*ms) #1ms delay
Hanros94 Although the Kasli Ip address is 10.34.16.100 I have had to set the computer IP address to 10.34.16.101 for it to connect.
This is perfectly normal.
Hanros94 As the system has come pre flashed I didnt want to flash it again and lose any functionalities.
Reflashing won't make you lose functionalities.
Hanros94 Could you please advise me, as I should be able to move ahead once I know I can properly communicate with the Kasli
Sure.
- Edited
sb10q Thanks for the response, I assumed you wanted me to go ahead with reflashing the system. I downloaded the conda artiq-board package in to the same working directory and then ran:
conda install artiq-board-XX
which worked, and subsequently installed Zadig and saw that the QuadRS232-HS(interface 0) has the right WinUSB (v6.17...) version whereas I could not install the driver for the other interfaces(1,2,3) as I got the following error ("Driver installation cancelled by user") even though I didn't do so. I think this is an issue with the Windows environment, which will not allow .cat files to be signed. Given that interface 0 out of interfaces 0-3 has the right WinUSB driver, could you please tell me how I can identify the usb port which corresponds to interface 0?
I then tried to run artiq_flash -V urbirmingham2 but got the following error.
TypeError: _getfullpathname: path should be string, bytes or os.PathLike, not NoneType
Could you please advise me further?
sb10q
Please see the command and the error message below:
(artiq-6) C:\Users\SinghRV-admin\Documents\artiq>artiq_flash -V ubirmingham2
Design: top;UserID=FFFFFFFF;COMPRESS=TRUE;Version=2020.1
Part name: 7a100tfgg484
Date: 2021/01/20
Time: 18:31:32
Bitstream payload length: 0x29db18
Traceback (most recent call last):
File "C:\Users\SinghRV-admin\.conda\envs\artiq-6\Scripts\artiq_flash-script.py", line 9, in <module>
sys.exit(main())
File "C:\Users\SinghRV-admin\.conda\envs\artiq-6\lib\site-packages\artiq\frontend\artiq_flash.py", line 431, in main
programmer.write_binary(*config["gateware"], gateware_bin)
File "C:\Users\SinghRV-admin\.conda\envs\artiq-6\lib\site-packages\artiq\frontend\artiq_flash.py", line 168, in write_binary
self.load_proxy()
File "C:\Users\SinghRV-admin\.conda\envs\artiq-6\lib\site-packages\artiq\frontend\artiq_flash.py", line 229, in load_proxy
self.load(find_proxy_bitfile(self._proxy), pld=0)
File "C:\Users\SinghRV-admin\.conda\envs\artiq-6\lib\site-packages\artiq\frontend\artiq_flash.py", line 102, in find_proxy_bitfile
for p in [proxy_path(), os.path.expanduser("~/.migen"),
File "C:\Users\SinghRV-admin\.conda\envs\artiq-6\lib\site-packages\artiq\frontend\artiq_flash.py", line 96, in proxy_path
os.path.dirname(os.path.realpath(shutil.which("openocd"))),
File "C:\Users\SinghRV-admin\.conda\envs\artiq-6\lib\ntpath.py", line 526, in abspath
return normpath(_getfullpathname(path))
TypeError: _getfullpathname: path should be string, bytes or os.PathLike, not NoneType
rjo I am using Windows 10 so I am using ZADIG as instructed in the manual. As seen in the image attached for QuadRS232-HS (interface 0) has the right windows driver, but as I mentioned above, I can't change the other interfaces (1-3) for this QuadRS232-HS as seen in the second image.
Do you have advise for this issue with ZADIG? online searches for this problem state it is an issue with the windows environment?
- Edited
I have now tried the same set of commands on a different windows machine and have been able to change the USB drivers using ZADIG. When I try to run the command artiq_flash -V ubirmingham2, I get the following error, could you please advise me.
In this situation even after running condo install artiq-board-XX the software is not being updated from 5.7xx to 6.75xx in this condo env as it happened on the other windows machine. I have tried creating a new condo env using:
conda create -n artiq-6.X artiq
conda activate artiq-6.X
conda install artiq-board-ubirmingham2-XX
Your screenshot indicates you are in a artiq-6
environment while you say you installed the board package in artiq-6.X
. That doesn't match.
- Edited
rjo I found out what the problem was, it seems that openocd was not installed when installing artiq using conda. I checked this by running 'conda install openocd' which stated that openocd could not be found in the channels ( I was using artiq-beta). I then ran 'conda install -c m-labs openocd' found on the anaconda.org website and I was then able to run artiq_flash correctly. I'm not sure why this manual installation of openocd was necessary given that I had followed the provided installation instructions but thanks for the help.