diff options
author | Suren A. Chilingaryan <csa@dside.dyndns.org> | 2011-12-14 04:17:00 +0100 |
---|---|---|
committer | Suren A. Chilingaryan <csa@dside.dyndns.org> | 2011-12-14 04:17:00 +0100 |
commit | 72fc5fa9be55ffab0e009085b05a3cad0b077826 (patch) | |
tree | dc2bedba961e9577aec6717f17a7fd10e2d2fbd9 | |
parent | a5814c8d0bf5255a6f2deba41db9733c6d524ad1 (diff) | |
download | pcitool-72fc5fa9be55ffab0e009085b05a3cad0b077826.tar.gz pcitool-72fc5fa9be55ffab0e009085b05a3cad0b077826.tar.bz2 pcitool-72fc5fa9be55ffab0e009085b05a3cad0b077826.tar.xz pcitool-72fc5fa9be55ffab0e009085b05a3cad0b077826.zip |
small cleanup
-rw-r--r-- | ToDo | 14 | ||||
-rw-r--r-- | event.c | 9 | ||||
-rw-r--r-- | pcilib.h | 5 |
3 files changed, 16 insertions, 12 deletions
@@ -1,17 +1,8 @@ -Bugs -==== - 1. For IPECamera, shall we limit DMA packet size to xdma_packet_lenght register - additionally to size of memory page? - 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. Extend Event API with function to generate triggers - at the specified pace. By default the current cli - implementation should be used. However, the hardware - alternative should be possible to implement. - + 3. Implement pcilib_configure_autotrigger Normal Priority (it would make just few things a bit easier) =============== @@ -20,7 +11,6 @@ Normal Priority (it would make just few things a bit easier) 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 - 6. Use pthread_condition_t instead of polling Low Priority (only as generalization for other projects) ============ @@ -28,5 +18,5 @@ Low Priority (only as generalization for other projects) 2. Access register/bank lookups using hash tables 3. Support for Network Registers and Network DMA 4. Define a syntax for register dependencies / delays (?) + 5. Use pthread_condition_t instead of polling -
\ No newline at end of file @@ -121,6 +121,15 @@ int pcilib_configure_autostop(pcilib_t *ctx, size_t max_events, pcilib_timeout_t return 0; } +int pcilib_configure_autotrigger(pcilib_t *ctx, pcilib_timeout_t interval, pcilib_event_t event, size_t trigger_size, void *trigger_data) { + /* To support hardware without autotriggering, we need to provide in event.c a code + to generate multiple triggers in a thread (available in cli). The function should + be re-enabled afterwards: just set parameters and let implementation decide if it + can make triggering in hardware or will use our emulation */ + + return PCILIB_ERROR_NOTSUPPORTED; +} + int pcilib_configure_preprocessing_threads(pcilib_t *ctx, size_t max_threads) { pcilib_event_api_description_t *api; @@ -321,6 +321,11 @@ int pcilib_trigger(pcilib_t *ctx, pcilib_event_t event, size_t trigger_size, voi * is specified. */ int pcilib_configure_autostop(pcilib_t *ctx, size_t max_events, pcilib_timeout_t duration); + +/* + * Request auto-triggering while grabbing + */ +int pcilib_configure_autotrigger(pcilib_t *ctx, pcilib_timeout_t interval, pcilib_event_t event, size_t trigger_size, void *trigger_data); /* * Request streaming the rawdata from the event engine. It is fastest way to acuqire data. * No memory copies will be performed and DMA buffers will be directly passed to the user |