Changes between Version 185 and Version 186 of GSoC/2015

Aug 1, 2015, 2:45:41 PM (4 years ago)
André Marques



  • GSoC/2015

    v185 v186  
    9090* June 30: I have been addressing the issues/suggestions noted on the GPIO API, and am at this point writing my midterm report, which details the current state of the GPIO API. One of the reasons for this delay is a problem with the generic_isr that arised when I changed the pin state data structure, which for some reason causes a crash for no aparent reason when the application uses interrupts (e.g.: just adding a new field to the struct causes a crash when the rtems interrupt handler is called). For now I have put a dummy rtems_chain_control which is not needed, but by having it there I can continue the work, so until now I have ignored it but in the next days I will have to address it.
     92* July 7: Updated the GPIO API to include pin groupings, allowing to write and read byte data to a series of pins which behave as a single entity. Added support for 'parallel' GPIO pin function assignment, allowing the function assignment to be set for multiple pins in a single GPIO hardware call. If a BSP does not support this feature it becomes a sequence of individual calls per pin.
     94* July 14: I have added to the GPIO API support for pin groupings and multi-pin operations. These are useful to operate on a GPIO pin group as a if it was a single entity (i.e.: can be useful to emulate/bit-bang interfaces using GPIO pins), and also allow for fewer hardware calls. I also updated the existing data structures to optimize the memory requirements. The current state and description of the API is currently in my blog (which I have updated just a few hours ago). I have tested all the features with the Pi, and am now updating the existing API test cases. At this point the API is almost ready for another round of code review.
     96* July 21: Corrected some bugs with GPIO multi select and group functions. Added GPIO multi read function, and changed pin state structure to an uni-dimensional array instead of a dynamic matrix. Updated pin release functions.
     98* July 28: Yesterday I have posted in the devel ml the v2 of the GPIO patch set for RTEMS and the Pi. In the meantime I have an initial port of my I2C Pi code to the linux I2C framework, which I am testing and ironing out some issues. I say initial port because the new API allows for a number of small features that libi2c did not have such as the mangling functionality (i.e.: ignoring acknowledgement for certain messages), sending multiple messages (each may include several data packets) without start conditions in between and such. The device driver I have for my I2C testing device has also been ported to use the new framework's device API so the work can be tested. SPI is mainly waiting for the GPIO to get in, and I hope to have a go at the SD card during the weekend.
    92100== Anand Krishnan Prakash ==