/daq/adas

To get this branch, use:
bzr branch http://darksoft.org/webbzr/daq/adas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
0. ADAS Server 
    - Properly handle signal interruption. Do not leave with error causing 
    reinitialization, continue reading of the data, etc. This is needed for
    debugging purpose.
    - Rewrite drivers as modules, and remove dependencies from the final.c (
    i.e. all data for CS protocol should be supported by drivers)
    - Implement OPC XML-DA protocol for data access

1. Control Connection
    - It would be wise to reimplement TryConnection in a such way what it would
    wait a little bit for Connection unlock.
    - Implement some kind of CRC checking

2. Writer Interface
    - To provide better oportunity for control and monitoring enhance writers
    with "Writing Mode" capability. 
	ADAS_INFORMATION_STORE, _CONTROL, _MONITOR, _DEBUG.
    The writer is allowed to support only one of specified modes. For example
    current writers would support only ADAS_INFORMATION_STORE. Other writer
    indented for control purposes will support several other modes, providing
    data on user request or pushing to the intermediate data server (like OPC).
    - Provide ComplexData writeout by accepting XML documents.
    - Allow to set a type of the standard Data components (In Layout)
    
3. XMLWriter
    - Another XPath optimizations are still possible. Preventing unneccessary
    high cost XPath request by caching responses.

    There are possible what some sensor have several values (Voltage, Counter).
    It is not clear how to find target id for Dispersion (etc.) in that case 
    (At the moment it operates by searching record with appropriate layer and 
    detector ids, but in the described case there would be several records 
    with the same id).
    
    - For devices with configurable layout store in Layout description provide
    references on the approprieate RuleSet (just a name).
    - Support for external Info descriptions for standard subs

4. Drivers
    - Since detector configuration is written in the description file (config
    is not buffered, but requested from the XMLWriter directly), the config
    update should not be performed while there are device events in the 
    buffer. The Buffer module provides function allowing to wait until all
    buffered events of the device are processed. 
    At the moment this is considered only by NAMT driver, all other drivers
    should be reinvestigated.

5. SNT Microcode & NAMT Driver
    - Find out strange lockup in NAMT driver (seems SNT and NAMT are not
    affected, however test board at my appartment have this problem from
    time to time).
    - Improved communication error handling is required. The CRC checking
    should be implemented. However, as temporal solution at least skipping
    invalid data in SNT/SA microcode should be considered.
    - Disable LADC interruption while buffer is overruned. This is needed to
    keep board responsitive and allow operator to change hardware thresholds.

6. System Configuration
    - The SNT (and probably other boards where the MCU embeded and external USB
    chips are available) there is no way to distinguish between two USB
    interfaces. This doesn't cause a serious problems, since the first one
    should be used always. However, it would be nice to find a solution how
    they should be distinguished.
    - Enable in kernel and configure iptables firewall.

7. Web Control Interface
    - In monitoring mode add checks (and visualise in case of errors):
    available disk space, time synchronization, lost net connection.
    - Put channel description in CSV headers.
    - Enhance charts to look beter. Coordinate in "selected" mode, etc.
    - Fix spectrum selected chart charts in the "all zero" case.
    - Monitoring Interface for NAMT devices.
    - Renew (AJAX) Global Information Page
    - Implement Web Interface for offline configuration manipulation
    - Prevent user from control if another control session is running
    - In Layout several more checks should be added
	a) After some changes (deletion of rulesets, adjusting number of 
	sensors, etc.) certain rules may become invalid.
    - Instead of just hidding submit button report problems in adjustconfig.
    - In the case when get request is arriving at the moment of data writeout, 
    the invalid XML will be returned. Implement some locking? Or look for last
    completed record in PhP?
    - Provide Web Interface for Philips LPC reprogramming
    
9. Utilities
    - Complete nettest utility to fully functional terminal