I’ve recently been reading up on software defined radio (SDR). An epiphany that I had recently was that if we have sampled a signal so that we meet the Nyquist criteria, we can reproduce the points between the points we took.
This is a story of trying to do the right thing… without reading all the instructions. I recently was setting up OpenVPN for my home network. The instructions are pretty strait forward. For those of you who are security conscious, there is even an option to drop elevated privileges in Linux. That sounds good, right? …View full post
After troubleshooting a problem I was having with the supplier links in Altium Designer, I recently found that, for at least one of the supplier links (Mouser), your login credentials are being passed in clear text. Even better, they are in XML that clearly tells anyone watching what they are. Altium has been notified of …View full post
Sometimes you have a design where you don’t want to make a new footprint, but need to move a certain track or via 10 mil one way… for 30 copies of the same footprint.View full post
Permanent link to this article: http://blog.curioussystem.com/2013/07/nyquist-signal-expansion-with-python/
Permanent link to this article: http://blog.curioussystem.com/2013/06/these-are-not-the-bits-youre-looking-for/
Permanent link to this article: http://blog.curioussystem.com/2013/06/two-wrongs-make-a-working-prototype/
I previously wrote my review of the Freescale KL25. Since then I’ve finished my first design with the KL25. The second spin of the board will see several of the peripherals and pins rearranged. Most of this has to do with things that I glossed over in the documentation desire to get the product to market. None were killers, but required some work-around or are being changed to improve functionality.
Permanent link to this article: http://blog.curioussystem.com/2013/06/freescale-kl25-peripheral-selection-guide/
Permanent link to this article: http://blog.curioussystem.com/2013/02/freescale-kl25-cortex-m-0-review/
… or how to edit a .hex file instead of recompiling it for every option.
I had a product a while back where the customer needed to program it, but we didn’t want them to have to hassle with compiling it for every (10,000+) permutation. I had a whole build system set up when this was just a few hundred files that would do all the compilations for me (thank you python!). That was now out of the question. There were a few hurdles to do this on a PIC, but we achieved it
Permanent link to this article: http://blog.curioussystem.com/2012/12/editing-pic-hex-files/
Permanent link to this article: http://blog.curioussystem.com/2012/05/the-case-of-the-random-lockup/
Permanent link to this article: http://blog.curioussystem.com/2012/02/two-clicks-to-program-a-pic/
Recently I’ve had a project that required precompiling the firmware for a device so that the end user could program the device, but not have the source code. We’re not talking about a few versions of the code, but almost 1000. This is something that no person would want to do, especially since it would have to be redone every time the source code changes. Python to the rescue. It was simple enough to write a program that would copy the source code, change a bit of information in a header file, compile it and save the binary to the appropriate location. Controlling other programs is pretty easy with the subprocess module. That’s great and all, but doing it single-threaded, that’s so 90s. Python makes multithreading pretty simple using its multiprocessing library. The trick is not stepping on any toes when you do it.
Permanent link to this article: http://blog.curioussystem.com/2012/02/multithreading-python-and-passed-arguments/
Permanent link to this article: http://blog.curioussystem.com/2012/01/of-embedded-black-boxes/