Monday, July 26, 2010

Week 9 report

Report for the week  19-7-10 to 26-7-10

Much of this week was spent trying to read up on ALSA. But the documentation is not that good.

* Added prescaling via another ioctl() call. This will now allow us to obtain really slow PWM signals. Prescaling allows division of the input clock by powers of 2 i.e. from 2 to 256. This seems like a very neat feature.
* The PWM10/11 can be optionally controlled using an FCLK of 13K Hz. This gives more granularity. This has also been setup as an ioctl() call.

I was hoping to have something working wrt ALSA by now but haven't been able to come up with anything. I am still looking for some sample plugin which I could use as the base and build forward from that. There is not much in the way of documentation when it comes to writing external plugins. I am going to need some help with this.

Monday, July 19, 2010

Week 8 report

Report for the week  12-7-10 to 19-7-10

* Added more ioctl() calls to query the status of the PWM.
* Added some sample code to make using the driver easier.
* Still reading up on ALSA. I now think that I will have to write an ALSA driver to access the PCM data being sent out to the soundcard and convert it over to PWM to output sound on the beagle's PWM pins. Should have something up next week

A simple ALSA module should be working by next week.

Monday, July 12, 2010

Week 7 report

Report for the week  5-7-10 to 12-7-10

* Completed making both the circuits.
Here are the demonstrations for both of these

Motor Control circuit :
Speaker Control Circuit :

These are the circuit diagrams

* Have read a bit about making a glue layer for ALSA. It is not vey clear to me right now. If anyone has some suggestions on how to go about how to access the data being sent via the ALSA to the soundcard please let me know.

* Will add some examples to the repo.

* Now that the hardware is almost working not many risks left.

Monday, July 5, 2010

Week 6 report

Report for the week  28-6-10 to 5-7-10

* The driver can now be used to switch the SCPWM bit (GPTi.TCLR[7]). This allows specifying a positive  (SCPWM=1) or negative pulse (SCPWM=0). This has been added as a call to the ioctl() interface.

* Started work on the circuits but nothing to show yet.

* Added more instructions and fixed some indentation issues.

* Will add some examples to the repo.

* A working circuit would be present by the next week. 

* Same as last week.