dependabot[bot] on npm_and_yarn
dependabot[bot] on npm_and_yarn
Bump electron from 10.4.2 to 15… (compare)
dependabot[bot] on gradle
dependabot[bot] on gradle
chore(deps): bump gradle from 7… (compare)
I'm want to test transmission through diy guitar effects, so pslab wavegenerator -> some device -> pslab oscilloscope
, everything automated via python. I can of course send sinusodial signals (one frequency at a time) from the waveformgenerator to the oscillopscope, but that's inefficient. One could do a sinus-sweep through the audible spectrum or use white noise.
This is how I basically create my waveform:
from pslab import WaveformGenerator
wavegen = WaveformGenerator()
wavegen.load_function("SI1", lambda x: 0.5*np.sin(x), [0, 2*np.pi])
wavegen.generate(channels = 1, frequency = 100)
I don't understand how exactly the frequency enters the formula. For a sin-sweep, I want to modulate the frequency with another sinusodial function with a low frequency - but in the lambda function above the frequency is not stated explictly. Is there a way to pass something like this to load_function
:
def myfunction(frequency, phase, time):
return np.sin(frequency * time + phase)
Another way would be to somehow generate whitenoise from one output...that would basically mean I have to replace the sin
function with np.random.random()
or something...but there I have the same problem, that I don't understand exactly how the frequency and timestep is passed to the function.
I hope this is understandable, and thank you so much in advance!
To load more complicated functions than the load_function
method allows (such as functions of more than one variable), you can use the load_table
method instead. It let's you load a 512 values long list into the pslab's memory, the values of which the pslab will do its best to reproduce when you call generate
. It loops over the 512 values every 1/frequency
seconds.
However, the pslab is not able to accurately reproduce signals that contain harmonics above 5 kHz. You can try to load 512 values from np.random.random
into memory and see what you get, but I'm not sure how good the result will be. It's definitly an interesting experiment!
https://twitter.com/mariobehling/status/1531119488556355584
released #mcbootflash a #Python #FOSS #OpenSource tool for flashing #firmware to devices running
@MicrochipTech's MCC 16-bit bootloader. Can be automated and used as a library. https://github.com/bessman/mcbootflash
From a reply:
there's a neglected PIC24 project on my bench, will check it out!
Also randomly amazing, in this PIC bootloader I came across:they check if VDD provided is under 2.2v
if so stay in the bootloader!
I've never even considered such an implementation 🤯
is a neat trick if you don't want to burn a gpio pin...
$ pslab flash -p /dev/ttyUSB0 pslab-firmware.hex
Flashing pslab-firmware.hex.
Got bootloader attributes:
Max packet length: 256
Erase size: 2048
Write size: 8
Got program memory range: 0x001800:0x02a7fe.
Erased flash area 0x001800:0x02a7fe.
Flashing HEX segment 1: 0x001800:0x00c954.
100% 88.7 KiB |########################################| Elapsed Time: 0:00:20
Self verify OK.