I develop using Vim as my IDE, it's very handy, but it has taken me a while to get there. I've recently spent time cleaning my vim plugins, now everything is fetched via Vundle.
Anyway, let's get on with it.
Two very crucial plugins for developing any C or C++, not just AVR-C, is YouCompleteMe and Ultisnips.
Both these plugins work very well together with a bit of configuring:

" Ycm vs ultisnips
let g:ycm_key_list_select_completion=[]
let g:ycm_key_list_select_previous_compltetion=[]

let &path = "/usr/avr/include,/usr/include,./"

au BufEnter * exec "inoremap <silent> " . g:UltiSnipsJumpBackwardTrigger . " <C-R>=g:UltiSnips_Reverse()<cr>"

let g:UltiSnipsJumpBackwardTrigger="<s-tab>"

The important part here being let &path = "/usr/avr/include,/usr/include,./". It adds /usr/include and /usr/avr/include to YCMs path where it looks for things to complete with.

When you're developing microcontroller code you very often have the datasheet for the microcontroller in question open at the same time, because let's face it; no one remembers all those registers in their head :).
For this I use Open-Pdf and a simple mapping that saves me a few keystrokes. I save all the datasheets of the processors/components that I work with in ~/Documents/Datasheets which is then linked to my ownCloud-folder so that I can have the same set of Datasheets on all my devices. The mapping is nothing more than a timesaver: map <Leader>d :Pdf ~/Documents/Datasheets/. It certainly doesn't look perfect, but it's quite handy to be able to search for registers and the like from within vim directly.

A programming adapter for AVRs

I've just placed an order at [SeeedStudio][sed] for some PCBs that I've designed in [KiCAD][kic].It's a very simple circuit consisting of...… Continue reading

Sppd: SvtPlay Python Downloader

Published on January 13, 2016