Changes between Version 23 and Version 24 of Hardware/jCM/dCM3/cSoftware


Ignore:
Timestamp:
Sep 17, 2012, 3:26:47 PM (12 years ago)
Author:
Ilya Chigirev
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Hardware/jCM/dCM3/cSoftware

    v23 v24  
    77==== Files ====
    88The following is a list of the basic files that are in the SVN repository, and what functionality they contain:
    9  * CM3 - Initialization of the CM3, XML configuration, and the main program which runs the two primary threads
    10  * CM3_CLI - Sets up the command line interface (CLI) structure, as well as defining the functions call-backs for each command in the CLI
    11  * CM3_COMMAND - There are the functions that actually execute the commands, whether they be called by HTTP, CLI, or UDP
    12  * CM3_COMMUNICATION - Opens the UDP socket
    13  * CM3_HTTP - creates the HTTP pages and function call-backs to enable HTTP commands
    14  * CM3_I2C - Presently unused other than containing functions that read the hardware status and the 5V monitoring line, this should be done over I2C through the DS1780 chip, but I2C is non-operational
    15  * CM3_IDENTITY Contains functions that query the identifying features of the CM and node, like location, IP address, MAC address, etc.
    16  * CM3_UDP - Where the UDP thread functions are defines, as well as any other functions that process UDP information.
     9 * {{{CM3}}} - Initialization of the CM3, XML configuration, and the main program which runs the two primary threads
     10 * {{{CM3_CLI}}} - Sets up the command line interface (CLI) structure, as well as defining the functions call-backs for each command in the CLI
     11 * {{{CM3_COMMAND}}} - There are the functions that actually execute the commands, whether they be called by XML or UDP
     12 * {{{CM3_HTTP}}} - creates the XML pages and function call-backs to enable commands over http
     13 * {{{CM3_I2C}}} - Presently unused other than containing functions that read the hardware status and the 5V monitoring line, this should be done over I2C through the DS1780 chip, but I2C is non-operational
     14 * {{{CM3_IDENTITY}}} Contains functions that query the identifying features of the CM and node, like location, IP address, MAC address, etc.
    1715
    1816==== Initialization ====
     
    2422 * Telnet ports
    2523
    26 After XML configuration is completed the CM3 will populate the network information back into variables set up in software. This is because a lot of the network information is only available through the XML configuration file and so to recollect it each time you need it takes a long time. The CM3 then sets up the HTTP commands, which allow some basic functions of the CM3 to be executed of HTTP, the custom command line
    27 interface for the CM3, as described in table 2, and the user datagram protocol (UDP) socket.
     24After XML configuration is completed the CM3 will populate the network information back into variables set up in software. This is because a lot of the network information is only available through the XML configuration file and so to recollect it each time you need it takes a long time. The CM3 then sets up the HTTP commands, which allow some basic functions of the CM3 to be executed over XML, and the custom command line interface for the CM3, as described in table 2.
    2825
    2926==== UDP ====
    30 Once the UDP socket is opened two threads are opened that run side by side. The first is udpListen(), which is the thread that monitors the UDP socket for incoming packets. Once a packet is received the thread checks for valid CM packet structure and proceeds to act accordingly if it is. [[BR]]
    31 The other thread that is opened is udpPkt(). udpPkt() is the function that is responsible for sending registration and status packets. Initially the function will send out registration packets, until it gets a registration ACK, and then a status update packet every 20 seconds. If the CM sends out 3 status update packets and does not receive an ACK from the CMC, it will go back to the assumption that it is no longer registered in the CMC and send out registation packets again. The two UDP threads are responsible for most of the functionality of the CM3 as the majority of commands come from the experiment controller through the CMC over the UDP lines. HTTP and CLI commands are added functionality for when there is no CMC.
     27UDP was the standard method off communicating commands between the CMC and the CM, however it has not been removed as a method of control. All commands from the CMC now go over XML. 
    3228
    3329==== Flashing Firmware ====