Comments (18)
from cyclops.
from cyclops.
Hi John,
Thanks a lot for the quick reply! The device has been in our lab for a bit. I'd have to ask around when/were it was bought, but it's not self-built. I have the same problem with two different cyclopses. I have a BNC with two separate leads attached and measure the voltage between the two with a voltmeter (see image below). The other ends of the cables go into the GND and Digital output pin of an arduino, respectively. The voltage is zero at baseline, rises to 5V when the pulse is given by the arduino but then stays at 2.9 and the cyclops can't be triggered anymore. With the resistor attached as shown on the photo, the voltage will settle back to zero after the pulse and the cyclops can be triggered repeatedly. Unfortunately I found no config where this would work with a 3.3V input pulse, mostly because that seems to leave only a very narrow range for resistors that would do the trick.
from cyclops.
from cyclops.
The other ends are attached to the GND and Digital out pin of another Arduino (Due). However, I tried other 3.3V and 5V pulse generators instead and I get the same problem. The TRIG input on the cyclops will hold the 3V voltage even when the pulse generator is disconnected altogether, so it's unlikely to come from the input device. Also, when I attach the same input cable to the SIGNAL IN port on the cyclops, the voltage will go to zero when the input coming from the cables is set to zero.
from cyclops.
from cyclops.
To the best of my knowledge no (I 'inherited' the device). How would I re-upload the default firmware?
from cyclops.
Also, just to clarify: Does 'firmware' in this case mean the cyclops.h c++ library that's embedded in the teensy scripts or is there another piece of firmware that lives outside of that?
from cyclops.
from cyclops.
Unfortunately, that doesn't fix the issue. I just re-downloaded the entire library from github and re-uploaded the 'trigger pulse' example script, but I still get the same result. It doesn't make any sense to me, but it seems that somehow in this example the pin on the teensy stays high once it's triggered which prevents it from accepting further input until it's externally zeroed out...
from cyclops.
OK. Sorry to hear that. At the end of the day, this is a copper trace connected to a pin on a micro controller. If that pin is programmed to be an input and is getting stuck at a voltage, then something seems like its wrong with the teensy. Perhaps an overvoltage condition of some sort occurred? These pins are 5V tolerant though.
You could get another Teensy 3.2 and replace the one thats in there if you want to see if that fixes your issue.
from cyclops.
No problem - I'm still somewhat optimistic we can figure this out. It's weird because the same problems comes up on three different cyclopses (just tried a third one) which are otherwise working fine. I was thinking to make some low-level tests with the built-in teensy to see if I can pin down the problem.
Is there a layout in the documentation that shows which pins of the teensy are connected to which in/outputs/actuators on the cyclops board and chassis? Maybe I'm blind but somehow I couldn't find it in the (otherwise excellent) manual. Thanks again for your help!
from cyclops.
...JK. Found it (cyclops_schematic.pdf).
from cyclops.
Closing for now. If you find a bug that somehow has to do with the device, let me know but I don't see it at this point.
from cyclops.
It's not a problem of your device directly, but others had issues with the pullup resistors of the teensy, too.
https://forum.pjrc.com/threads/46709-Teensy-3-2-INPUT_PULLUP-Problems-with-Pushbutton
It also does not have built-in pull-down resistors, so it is likely necessary to attach one externally as shown in the image, otherwise the pin floats like it did for me. I checked and the problem is also present with a bare-bone code that only reads from the digital pin without using any of the cyclops libraries, so it is a hardware issue (of the teensy itself).
from cyclops.
...Oook - finally got it to work. The issue with the pull-down resistor is really only an issue if the other end of the cable isn't (functionally) connected to anything - e.g. with a mechanical switch or something of that sort. With the Arduino on the input side, the problem only arises if you fail to declare the triggering input from the other device as an output (I'm an idiot...) once you do, the problem is solved. Leaving this here just in case it's useful to anybody else.
from cyclops.
Also, thank you again Jon for your input and bearing with me while figuring this out.
from cyclops.
Yeah as you are getting at, if you are driving the pin with a low output impedance source, like a function generator or the output pin on another microcontroller, then the pull down/up state of that pin should not matter.
Glad you figured it out, you're not an idiot, have a good day.
from cyclops.
Related Issues (15)
- Overcurrent indicator always on HOT 2
- LED continuously on HOT 18
- Waveform Scheduler is not precise [Cyclops rev3.6] HOT 1
- Can't trigger my Cyclops HOT 1
- GUI - RPC Interface HOT 1
- add Cyclops to open-neuroscience.com HOT 1
- Typo in Cyclops.h comments HOT 1
- Get trigger input status in loop() HOT 2
- LED warming up time course issue HOT 3
- Power switch installation instructions HOT 3
- EMI shielding HOT 5
- Porting Cyclops to Teensy [32b MCU] HOT 5
- TRIG Pin Driving Capacitive Loads HOT 1
- USB port on Cyclops betas HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cyclops.