diff options
| author | Camil Staps | 2017-03-18 16:25:19 +0100 | 
|---|---|---|
| committer | Camil Staps | 2017-03-18 16:25:19 +0100 | 
| commit | 279e8273d381e5b67920e6bf47405dba18c90a35 (patch) | |
| tree | d0fe6675b2e5465bc9baea65f1cd6fc2a94ba8a5 /resources/jade/finals/ham | |
| parent | Added note about bands (diff) | |
Move to pug instead of jade
Diffstat (limited to 'resources/jade/finals/ham')
| -rw-r--r-- | resources/jade/finals/ham/cw-decoder.jade | 77 | ||||
| -rw-r--r-- | resources/jade/finals/ham/index.jade | 16 | 
2 files changed, 0 insertions, 93 deletions
diff --git a/resources/jade/finals/ham/cw-decoder.jade b/resources/jade/finals/ham/cw-decoder.jade deleted file mode 100644 index bc8636b..0000000 --- a/resources/jade/finals/ham/cw-decoder.jade +++ /dev/null @@ -1,77 +0,0 @@ -extends layout-ham.jade - -block prepend menu -	- var page = 'cw-decoder' -	- var sections = ['Porting to PIC', 'Finishing', 'Future plans'] - -block subtitle -	| CW Decoder -block subtitleDate -	| January 2017 - -block subtitle-right -	+githubLink('camilstaps/CWDecoder') - -block page -	h4 Introduction -	p. -		We discuss a small PIC-based CW decoder, a great help for a beginning ham. -		The base is taken from Budd Churchward WB7FHC's #[a(href='http://www.mypetarduino.com/ReadCode/readCode.01.html') Arduino-based decoder]. -		My own source code, for a PIC16F88, is #[a(href='https://github.com/camilstaps/CWDecoder') on GitHub]. - -	h4 Porting to PIC -	p. -		While the project is great, I was unable to resign myself to use an Arduino. -		Arduino is nice for prototyping, but too many people use it as an end product, wasting space and resources. -		Worst of all, they fail to learn principles of electrical engineering and programming on minimal architectures. -	p. -		Hence, I decided to port the project to a PIC microcontroller. -		PIC is a wide range of microcontrollers developed by #[a(href='http://microchip.com') Microchip]. -		For this project, a simple 8-bit chip is more than enough. -		The only thing we need to look out for is that the clock is fast enough. -		I went with the #[a(href='http://www.microchip.com/wwwproducts/en/pic16f88') PIC16F88] which has 5MIPS, for the simple reason that I had it in stock. -		Anything will do. -	p. -		Porting the Arduino code (which is a C++ dialect) to C is relatively easy. -		The only complication is the <code>millis()</code> function. -		On Arduino, this returns the number of milliseconds since startup. -		This is part of the Arduino bootstrapping code, which we do not have on PIC, so a small wrapper for this function had to be written. -		The same functionality can be achieved with a timer and an interrupt service routine (which is, I assume, the way it works on Arduino as well). -	p. -		For the LCD I used a 4x40 display with green backlight. -		It is #[a(href='http://www.ekenrooi.net/lcd/lcd.shtml') HD44780]-based but has two control chips, which can be turned on and off using two enable lines. -		My #[a(href='https://github.com/camilstaps/HD44780_PIC') HD44780_PIC] C library can deal with this, as well as with 4- and 8-bit interface. -		(This is all done through preprocessing <code>#define</code> statements so it does not slow down the code.) -	p. -		Other than these two points, porting the code was straightforward and no major changes have been made. -		 -	h4 Finishing -	p. -		There was not much space left next to the display. -		I had just enough space for the LED, the reset button and the volume button. -		The LED is absolutely necessary on the front for feedback. -	p. -		The 4x40 LCD performs very well. -		A 4x20 or perhaps 2x40 would do the job as well, but I wouldn't go smaller than that. -		Sometimes characters are missed or noise is interpreted as a character, so you should expect that perhaps 80% of the character space is used for the actual text. -	p. -		There is no need to place the frequency potentiometer on the front because it should be fixed to your side tone. -		I found that a high-precision potentiometer is very useful to adjust the frequency. -		The bandwidth of the audio mixer is relatively narrow. - -	h4 Future plans -	p. -		I intend to make the decoded text not only available on the LCD but also on the UART module. -		The RX pin is used already, but one-way communication will be enough. -		This way, another module could log QSOs to an SD card, another idea I have been playing with. -	p. -		Another addition I'd like to make is a fix-frequency button. -		This would disable the automatic adaption to the current speed. -		It could be pressed at the start of a QSO and released afterwards. -		I hope that in this way the decoder can become less sensitive to background noise. -	p. -		Lastly, some status information would be nice on the LCD. -		Concretely, I'm thinking about the estimated WPM. -		This should be fairly simple to implement. -		It could also be useful to have an accuracy estimation. -		Figures that could be used for this are the standard deviation on the length of dits and dahs and the amount of jitter during a dit or dah. diff --git a/resources/jade/finals/ham/index.jade b/resources/jade/finals/ham/index.jade deleted file mode 100644 index c4cdc31..0000000 --- a/resources/jade/finals/ham/index.jade +++ /dev/null @@ -1,16 +0,0 @@ -extends layout-ham.jade - -block prepend menu -	- var page = 'home' - -block subtitle -	| Home - -block page -	p. -		This is a collection of some Ham radio related projects of mine. -		Perhaps it will be larger than this one day. - -	p. -		I'm regularly active on 20m with CW, as you can see #[a(href='https://foc.dj1yfk.de/activity/PD7LOL') here]. -		I look forward to meeting you on the band soon.  | 
