Report for the week 02-8-10 to 09-8-10
Status
* I misunderstood the ioctl() interface thinking that I could issue these calls from the kernel space as well. But later discovered that these can only be used from the userspace. This was causing the compile errors I mentioned in the last week's report. With this out of the way I can now build the pwm speaker driver.
* The pwm driver can now be used even in the kernel space with the addition of some EXPORT_SYMBOL() commands. Not all of the features are available through this right now but I will look into this.
Plans
* I have been testing the pwm speaker driver with not a lot of success but hopefully it will get fixed this week.
* Improve the documentation on the wiki as well as the repo.
Monday, August 9, 2010
Monday, August 2, 2010
Week 10 report
Report for the week 26-7-10 to 02-8-10
Status
* I managed to modify the pcsp driver (/usr/src/linux/drivers/pcsp). It works through two files pcsp.c and pcsp_lib.c. The first one mainly initialises the alsa device and does more or less book keeping work. The second file accesses pcm data from the dma region and sets up pwm signal correspondingly as Hunyue pointed before. There is also a lot of stuff for accessing the hardware timers which I have stripped out.
I am having some compiling problems right now using this makefile ( http://pastebin.com/EnFjfNZa ) and, these files pwmsp.c(http://pastebin.com/0XS7sNxA) and pwmsp_lib.c ( http://pastebin.com/JRFfcMcU ). It gives me these errors http://pastebin.com/Byhkz4rT .
Plans
* After fixing these compiling errors, I will test this driver and make a demo for this.
Status
* I managed to modify the pcsp driver (/usr/src/linux/drivers/pcsp). It works through two files pcsp.c and pcsp_lib.c. The first one mainly initialises the alsa device and does more or less book keeping work. The second file accesses pcm data from the dma region and sets up pwm signal correspondingly as Hunyue pointed before. There is also a lot of stuff for accessing the hardware timers which I have stripped out.
I am having some compiling problems right now using this makefile ( http://pastebin.com/EnFjfNZa ) and, these files pwmsp.c(http://pastebin.com/0XS7sNxA) and pwmsp_lib.c ( http://pastebin.com/JRFfcMcU ). It gives me these errors http://pastebin.com/Byhkz4rT .
Plans
* After fixing these compiling errors, I will test this driver and make a demo for this.
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.
Status
* 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.
Plans
* 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.
Much of this week was spent trying to read up on ALSA. But the documentation is not that good.
Status
* 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.
Plans
* 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.
Subscribe to:
Posts (Atom)