Pic Lab, PIC18, Experiment #5, USB

When I started to dig into USB topic it was quite a surprise, the amount of efforts the smart people around the world put into it just unbelievable. Even more fascinating fact – it actually worked out. The excitement reached some saturation when I realized the prices (: Vendor ID will cost you 5 grands per year, want to use a USB logo – no problem, just add another 6 grands on the top. Now we could test the compliance of your device with our standard for n grands… The companies using USB are listed on the website www.usb.org (USB Implementers Forum – USB-IF). The curious one could just count a number of companies and calculate the profit just from the year subscription, and this thing is going on for a long long time already. Well they have definitely built an addictive stuff. I, personally, have found the usage for my projects a bit excessive, I definitely not ready to put 5 grands per year for USB in the cheap humidity sensor.

Now, there are tons of different information, it is really challenging to grasp all at once, I will be honest and won’t pretend that I got everything, have a lot of holes in the knowledge, I just need to make it alive and respond to my commands. So, what I gonna to do is to show the info which looked important to me and then will conduct two experiments on this “foundation”.

USB diagram
Continue reading

Pic Lab, PIC18, Experiment #3, ADC

I was working on a small project where I needed to catch a certain button pressed event. Sounds simple initially, but I have 10 such buttons and it means that I need to have 10 IOs, or port expander, or make a digital matrix button handler (like 3×4 keypad) but these all variants are boring, I wanted something more interesting and make something like a DAC based on these buttons which will be digitazed by the built-in ADC in pic18f14k50. Thus, we will use a single port instead of 10, by cost of the more complicated code.

Let me start as usual – from reading of the datasheet.

Continue reading

Using bitbucket with git CLI

To connect existing bitbucket repository the easiest solution is to use SSH as appeared.

Firstly, generate on your linux machine the ssh keys (public and private), use for this keygen-ssh command.

There is a nice explanation of this on the atlassian website, but it was not clear enough for me what I should do next.

As appeared it is pretty simple – from the main webpage go to the personal settings menu and add your public key from there.

Now just either clone it using ssh, either change the type from https to ssh and it all works, no need to enter password.

Auto enabling/disabling of the amplifier

A situation in place was the next – my half done amplifier was working already 3 years just proving the statement “there last longing device is a temporary one”. It was kind of fine – but it consumes an energy. In a fact a solid chunk of the energy – it is class A amplifier. At some point in time I started to think – why to not switch on/off the amplifier in dependence on the signal presence.

the pcb for auto turn on/off feature
Continue reading

Pic Lab, PIC18, Experiment #1, UART in PIC18

This was a time to switch to XC8 compiler, it was not hard at all, but appeared that using of UART in PIC18 series has some peculiarities.

At the moment of this article the XC8 compiler had libraries for work with a periphery in the folder /includes/plib. Now they got rid of it and experimenting with a different approach. Anyway the legacy support looks like quite a strong side for microchip. Well I used then usart.h library which now I regret I did.

Out tasks are:

  • To write a single symbol
  • To write a string
  • To read 1 symbol = 1 byte
  • To read a couple of bytes

I will be working with PIC18F14K50.

Continue reading

PRI: first experience

At the moment of time I had a raspberry Pi arrived from China and really wanted to put my hands on it.

Initially I installed the Raspbian linux on it, but ironically enough I struggled with Chinese memory card a lot and all resolved when I finally bought the well-known in the store.

So what I wanted to do: my adsl modem which I had got for free had some freezes which fixed after the reboot. With time it evolved to each day couple reboots routine.

Solution in mind: to ping some known website one time per n minutes, and, if it is not – make a reboot.

That fact that my PRi stands next to the modem was also in favor of the solution.

Continue reading