Hi all,
I’ve a code based on simpleserial.c that works fine with SimpleSerial and can communicate and get data from/to the Husky with my jupyter notebook.
I’d want to try to switch to SimpleSerial2 (if I am not wrong, this should speed up data transfer and therefore aquisition campain).
To switch I perform the following:
- change the SS_VER macro when compiling
- change the callbacks signatures (I’m using the preprocessing suggestion as in the documentation)
- change the SS_VER variable at the beginning of the jupyter notebook.
Am I forgetting something?
While I have no errors with SimpleSerial v1 protocol, I get a Trigger not seen error when using SimpleSerial v2 protocol.
(ChipWhisperer Scope WARNING|File _OpenADCInterface.py:730) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 13
(I followed this page: ERROR: “Target did not ack” or “no trigger seen” — ChipWhisperer Documentation but with no success)
Thanks in advance.
Are you connecting to the scope and target by calling %run "../../Setup_Scripts/Setup_Generic.ipynb"
?
This is how the target type is set in our notebooks.
Check that type(target)
is “SimpleSerial2”.
Hi @jpthibault,∙
thanks for the message.
Yes, I checked and it is correctly set:
<class 'chipwhisperer.capture.targets.SimpleSerial2.SimpleSerial2'>
The whole error is
(ChipWhisperer Scope WARNING|File _OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 13
(ChipWhisperer Scope WARNING|File _OpenADCInterface.py:732) Timeout in OpenADC capture(), no trigger seen! Trigger forced, data is invalid. Status: 12
(ChipWhisperer Scope WARNING|File helper_functions.py:157) Timeout happened during capture
the last one is from this code (I copied from one chipwhisperer source):
ret = scope.capture(poll_done=True)
i = 0
while not target.is_done():
i += 1
time.sleep(0.05)
if i > 100:
scope_logger.warning("Target did not finish operation")
return None
if ret:
print(ret)
scope_logger.warning("Timeout happened during capture")
return None
Ok, sounds like a firmware issue then (cause #5 listed here).
Compare your implementation carefully against ours (e.g. chipwhisperer/firmware/mcu/simpleserial-aes/simpleserial-aes.c at develop · newaetech/chipwhisperer · GitHub) and make sure that you are sending what the target is expecting to receive.