summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BUGS17
-rw-r--r--NOTES4
-rw-r--r--README9
-rw-r--r--ToDo7
4 files changed, 15 insertions, 22 deletions
diff --git a/BUGS b/BUGS
index 35b5e65..4b0c1cc 100644
--- a/BUGS
+++ b/BUGS
@@ -1,18 +1,5 @@
IPECamera Hardware Bugs
=======================
1. Strange sequence writting CMOSIS registers
- 2. Extra 8 byte padding in the end of frames
- 3. Solve the conflict between DMA packet_length register and FPGA registers
- 4. Some frame requests are lost
-
-Incomplete Frames
------------------
- If I'm trying to stream the data, the camera from time to time returns
- incomplete frames. The provided part of the frame is coherent. But instead
- of at least 3063824 bytes (just full frame without padding, normally I get
- more due to the padding) I get only 3063808 bytes. This number 3063808 looks
- like to be constant.
-
- If I send another frame request, however, it looks I got the missing data with
- the next frame.
-
+ 2. Sometimes during DMA streaming register accesses fail
+ 3. The lower 12-bit of bus address are ignored by all hardware
diff --git a/NOTES b/NOTES
index e916894..d87bbfc 100644
--- a/NOTES
+++ b/NOTES
@@ -1,7 +1,3 @@
-Environment
-===========
- PCILIB_PLUGIN_DIR - override path to directory with plugins
-
Memory Addressing
=================
There is 3 types of addresses: virtual, physical, and bus. For DMA a bus
diff --git a/README b/README
new file mode 100644
index 0000000..051d91e
--- /dev/null
+++ b/README
@@ -0,0 +1,9 @@
+Supported environmental variables
+=================================
+ PCILIB_PLUGIN_DIR - override path to directory with plugins
+
+ PCILIB_DEBUG_DMA - Enable DMA debugging
+ PCILIB_DEBUG_MISSING_EVENTS - Enable debugging of missing events (frames for instance)
+ IPECAMERA_DEBUG_BROKEN_FRAMES - Store broken frames in the specified directory (variable may specify directory)
+ IPECAMERA_DEBUG_RAW_PACKETS - Store all raw packets read from DMA grouped in frames (variable may specify directory)
+ IPECAMERA_DEBUG_RAW_FRAMES - Store all raw frames (variable may specify directory)
diff --git a/ToDo b/ToDo
index c695a9a..4c2c783 100644
--- a/ToDo
+++ b/ToDo
@@ -2,15 +2,15 @@ High Priority (we would need it for IPE Camera)
=============
1. Serialize access to the registers across applications
2. Protect kmem_entries in the driver using spinlock
- 3. Implement pcilib_configure_autotrigger
+ 3. Protect mmap operation (multiple kernel calls) with some locking mechanism
+ 4. Allow overriding of registers and banks (performance?).
Normal Priority (it would make just few things a bit easier)
===============
1. Implement software registers (stored in kernel-memory)
- 2. Support FIFO reads/writes from/to registers
+ 2. Implement pcilib_configure_autotrigger
3. Provide OR and AND operations on registers in cli
4. Support writting a data from a binary file in cli
- 5. Use bus-addresses instead of physcial addresses for DMA
Low Priority (only as generalization for other projects)
============
@@ -19,4 +19,5 @@ Low Priority (only as generalization for other projects)
3. Support for Network Registers and Network DMA
4. Define a syntax for register dependencies / delays (?)
5. Use pthread_condition_t instead of polling
+ 6. Support FIFO reads/writes from/to registers