Difference between revisions of "Private:choudhary"

From NMSL
Line 1: Line 1:
 
Summary of accomplishments by Kaushik Choudhary.  
 
Summary of accomplishments by Kaushik Choudhary.  
 
+
== 29 June 2010 ==
 +
* Fixing build errors in code for transmitter APIs. Should be ready in a day.
 +
* Updated figure 10 on design document.
 +
* Thought about changes in the GUI and the design for callback functions to update parameters of tables from the GUI.
 
== 21 June 2010 ==
 
== 21 June 2010 ==
* Continuing to work on APIs in transmitter. Should be ready for testing this week.
+
* Continuing to work on APIs in transmitter. Hoping to get it ready for testing this week.
 
* Fixed FEC library building problems. Now FEC compiles and runs on most of the recent gcc versions 4.2.4-4.4.3 (tested).  * Cleaned up the makefile to remove dependencies on Argtable library. Also modified the makefile to add the path of xsd executable to the PATH environment variable.  
 
* Fixed FEC library building problems. Now FEC compiles and runs on most of the recent gcc versions 4.2.4-4.4.3 (tested).  * Cleaned up the makefile to remove dependencies on Argtable library. Also modified the makefile to add the path of xsd executable to the PATH environment variable.  
 
* Modified makefile to link to dynamic xerces and fec libraries. A user does not need sudo permissions to build and execute mtv anymore. A user also does not need to export LD_LIBRARY_PATH.
 
* Modified makefile to link to dynamic xerces and fec libraries. A user does not need sudo permissions to build and execute mtv anymore. A user also does not need to export LD_LIBRARY_PATH.

Revision as of 14:42, 29 June 2010

Summary of accomplishments by Kaushik Choudhary.

29 June 2010

  • Fixing build errors in code for transmitter APIs. Should be ready in a day.
  • Updated figure 10 on design document.
  • Thought about changes in the GUI and the design for callback functions to update parameters of tables from the GUI.

21 June 2010

  • Continuing to work on APIs in transmitter. Hoping to get it ready for testing this week.
  • Fixed FEC library building problems. Now FEC compiles and runs on most of the recent gcc versions 4.2.4-4.4.3 (tested). * Cleaned up the makefile to remove dependencies on Argtable library. Also modified the makefile to add the path of xsd executable to the PATH environment variable.
  • Modified makefile to link to dynamic xerces and fec libraries. A user does not need sudo permissions to build and execute mtv anymore. A user also does not need to export LD_LIBRARY_PATH.

TODO:

  • Finish APIs and test functionality using dvbSAM.
  • Update API documentation.

14June 2010

  • Finished integration with mtv class. The PSISI table data can now be fetched from the ConfMgr XML files.
  • Wrote unit test cases and tested code. Updating the test plan.
  • Decided on the design of get_psisi_pkt and get_next_psisi_time. Currently writing API code.

TODO:

  • Finish APIs.
  • Merge all code and test.
  • Update API documentation.

7 June 2010

  • INTERFACE INFO:
    • The entire PSISI module consists of eight classes. The Table class contains generic data pertaining to all the PSISI tables that inherit this information. The PSIS class acts as an interface with the rest of the system. The APIs getNextPsisiTime() and getPsisiPkt() are used by the Transmitter to determine whether and when to send any available PSISI table packets.
    • The PSISI tables are able to obtain the configuration parameters from the ConfMgr class (XML file). Once populated they are used by the Transmitter (getpsisi()).


  • Learned how to serialize vectors to write them out to files.
  • Integrated pack function to write section files for each table using default constructor values (set from values taken from existing fatcaps code for now).
  • Figured out how to call PSISI tables from Transmitter.

TODO:

  • Finish getmethod() to create PSI/SI Tables from configuration file.
  • Figure out how to pass the PSI/SI table data back to the transmitter (section files or buffers?)
  • Check in the code.
  • Update document.

31 May 2010

  • Was successfully able to implement the python pack method in C++ using . The data (regardless of type) now gets packed into the requisite binary string of bytes in the network-byte-order (big-endian). Padding has also been taken into consideration.
  • Understood vectors from STL and templates and used it to implement the method.
  • Tested the method's capability of packing native data types into the binary string. Tests were successful.
  • TODO
    • Integrate method into the PSI/SI table generation framework and test the section files with the 'sec2ts' utility.

24 May 2010

  • Implemented classes for the remaining tables - INT, SDT and PAT.
  • Still working on the pack function to pack the table data into sections. Placing the pack section in the main PSI/SI class so it can be used by all the tables.
  • Investigated test cases and found that the only independent test cases will be to use the section file generated from the tables and use it as a parameter for a utility to convert sections files into transport streams (sec2ts).
  • TODO: Test the sections generated with sec2ts for each of INT, SDT, PAT, PMT, TDT and NIT.

17 May 2010

  • Studied Figure 9 on page 21 of "Design Document of Mobile TV Base Station" for use as reference design for implementation of PSI/SI tables in C++.
  • Started learning Python to understand old code for PSI/SI tables implemented in Python.
  • Studied the specification documents for PSI/SI in DVB-h [2,3].
  • Implemented classes for PMT, TDT and NIT Tables (these add up to the classes that were already implemented by Farid).
  • Helped to compile FEC library.
  • Will implement C++ equivalent of Python's pack method in the Psisi class to avoid duplication in each of the tables.
  • TODO
    • Finish implementation of all classes for all the tables for PSI and SI.
    • Implement C++ equivalent for Python's pack method.
    • Perform unit testing before integrating into the main source branch.
    • Perform integration testing.


References

  1. Overview of PSI/SI
  2. DVB-H 300 468 SI Specification
  3. IP Datacast over DVB-H:PSI/SI