Bug 1467 - merge redundant OLS driver implementations into a common driver
Summary: merge redundant OLS driver implementations into a common driver
Status: CONFIRMED
Alias: None
Product: libsigrok
Classification: Unclassified
Component: Driver: openbench-logic-sniffer (show other bugs)
Version: unreleased development snapshot
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-27 11:43 CET by Gerhard Sittig
Modified: 2019-12-27 14:22 CET (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gerhard Sittig 2019-12-27 11:43:20 CET
The current libsigrok implementation contains at least two device drivers 
for OLS style hardware, the src/hardware/openbench-logic-sniffer/ and the 
.../pipistrello-ols/ hierarchies of source files. It is assumed that these 
share a lot of features yet implement them in redundant ways. Ideally these 
drivers would become one common driver which supports all the previously 
supported devices. This avoids leaving one of the implementations falling 
behind as one of them gets adjusted.
Comment 1 Gerhard Sittig 2019-12-27 14:22:38 CET
Source code inspection reveals that there are several aspects to this:
- Different physical layers underneath a common packet structure. OLS uses 
  genuine serial communication (which p-pls optionally can also provide). 
  For higher throughput p-ols by default uses an FTDI chip in FIFO mode. 
  It's assumed that the communication can get wrapped to serve either of 
  these approaches.
- Extensions to the SUMP protocol. p-ols exceeds the SUMP protocol's limits 
  for sample numbers (raises sample memory from 24KiB to 64MiB), and adds 
  edge triggers to the level triggers provided by SUMP. Which   results in 
  two protocol variants which have a lot in common.

Since the ols driver already needs to grow support for more optional features 
and board specific activity, it's still assumed that merging p-ols into ols 
is doable and worthwhile, to increase maintainability.