You know I’m so excited for v5 because we’ll finally be able to play ball battle the way it was meant to be played but then it hit me. WHY DON’T WE HAVE A SPEAKER FOR V5?! How am I suppose to play taylor swift while collecting all the balls on the field. This is LIT-erlly not lit. Like what the heck the speaker is cool as frick and we need it back. Plz Karthick, give us one <3
Hi. As there are legacy ports in the back of the V5 brain for older components. As such, you can plug in the old speaker, and use it with the new V5 system.
It’s not that simple.
The speaker needs to be driven by a digital-to-analog converter (DAC), which I highly doubt exists for V5’s legacy ports.
On the Cortex, a singular DAC exists for the dedicated speaker port. The point of the V5 legacy ports is compatibility with legacy sensors and motors, of which the speaker can be classified as neither. Thus, I doubt VEX would increase their BOM cost by including DACs just to appease the few people in the world that don’t completely hate VEX speakers.
With that said, you probably could emit a single tone by connecting the speaker in this manner.
Yes. And annoy LITERALLY EVERYBODY IN THIS WORLD!
I thought they would have built one in but you can use the legacy ports probably. VEX probably just didn’t want the speaker to get wet in the water game next year.
I am disappointed with the lack of a DAC or inbuilt speaker on the V5 brain. Unless they can stream audio data via a smart port digitally to an external DAC plus speaker combo, the V5 will have zero audio support. Even for square waves, the fact that you have to deal with the pesky Nyquist frequency makes audio beyond the capabilities of the Cortex unlikely to happen.
Now that you say that, (as a student taking digital electronics) i’m sorely tempted to attempt this.
You can not use any of the legacy ports. Way to slow. I also doubt that VEX would release their new proprietary interface to the public anytime soon.
The interface probably won’t be that hard to hack – we already know it’s based on CAN bus RS485 and serves solely to write and read data directly to/from RAM.
The hard part will be modifying or replacing VEX’s firmware, as all smart port devices need firmware support.
Actually, now that I think about it, VEX’s firmware can stay untouched. The custom device would just need to emulate one of the VEX-official smart devices.
It’s not based on CAN bus.
The smart ports will be able to support generic serial communication, obviously not legal for competition unless you are in VexU, however, communication with all sorts of external devices is quite feasible.
Fixed. I misremembered what the system architecture page said.
Will the firmware truly readily support third-party devices via the smart ports?
As long as the brain/API can use a V5 ports as generic serial port (which is what @jpearman says it will), you can build your own V5 device that would talk your chosen protocol (anything half-duplex serial). At that point, you should be able to stream audio easily. 8bit mono at 8kHz is 64kbit/s, 80kbaud with USART framing and something like 16B every 2ms (assuming small buffers, less often with larger buffers). Perfectly doable, pretty simple to implement HW with one LDO, one MAX485 and, say, ATTiny261 feeding a passive R-2R DAC. 4 chips total (including small speaker amp) with BOM in $3-$4 range.
Hmm, where are my long winter nights?
Could you add a Bluetooth speaker as non-functional decoration
My gut reaction would be NO. Although there is not as rule specifically against it, rulings in past games have indicated that having any device that connects wirelessly other than the VEXnet between robot and controller are not allowed. Again, a good question for the official Q&A.
What if you have your phone on the robot with a AUX cord to the speaker? If you use download music, or sounds, it could be on airplane mode.
I think one could argue that the phone might qualify as a Non-VEX computing device. And with V5 being Bluetooth capable, I think common sense would indicate that including a Bluetooth capable phone or other device would be looked at quite negatively by the GDC. It would open up the possibility of controlling the robot remotely from a device not in the hands of the drive team. Even if this weren’t being done, I would expect the GDC to not want to allow the possibility.
Cassette player? As long as you powered it via the cortex it would be legal…
What is the bandwidth of smart ports, and do they have DMA or any special features, @jpearman? Can they act as a generic unidirectional serial link?
We have an implementation in the beta systems, however, this feature, whilst needed for VexU, may or may not be part of the final release, we are currently evaluating.
Maximum baud rate is 921600, at that high rate there will be approximately a 3% error from true baud rate so the success in using that will depend on what the target device is. You can receive or send any type of message, vexos handles the details and we have a reasonably large buffer on both tx and rx so there is low overhead on user code. Sending a two channel 22KHz 8 bit audio stream should be straightforward.