X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fdemo%2Fprotocol.h;h=7930624d463ed94c4a6258455421d79fca4d33a2;hb=31bdc10ec2cbcdee6b63df075305b44f0b270b8f;hp=2562de9915c4147136f099b18767162ae5037bee;hpb=ba508e22d4e5ac358489e24b29f458c5bc1fb892;p=libsigrok.git diff --git a/src/hardware/demo/protocol.h b/src/hardware/demo/protocol.h index 2562de99..7930624d 100644 --- a/src/hardware/demo/protocol.h +++ b/src/hardware/demo/protocol.h @@ -17,8 +17,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * along with this program; if not, see . */ #ifndef LIBSIGROK_HARDWARE_DEMO_PROTOCOL_H @@ -55,6 +54,10 @@ struct dev_context { GHashTable *ch_ag; gboolean avg; /* True if averaging is enabled */ uint64_t avg_samples; + size_t enabled_logic_channels; + size_t enabled_analog_channels; + size_t first_partial_logic_index; + uint8_t first_partial_logic_mask; }; /* Logic patterns we can generate. */ @@ -76,11 +79,28 @@ enum { */ PATTERN_INC, + /** + * Single bit "walking" across all logic channels by being + * shifted across data lines, restarting after the last line + * was used. An all-zero (all-one) state is inserted to prevent + * repetitive patterns (e.g. with 8 data lines, every 8th state + * would show the same line state) + */ + PATTERN_WALKING_ONE, + PATTERN_WALKING_ZERO, + /** All channels have a low logic state. */ PATTERN_ALL_LOW, /** All channels have a high logic state. */ PATTERN_ALL_HIGH, + + /** + * Mimics a cable squid. Derived from the "works with" logo + * to occupy a larger number of channels yet "painting" + * something that can get recognized. + */ + PATTERN_SQUID, }; /* Analog patterns we can generate. */ @@ -102,6 +122,7 @@ static const char *analog_pattern_str[] = { }; struct analog_gen { + struct sr_channel *ch; int pattern; float amplitude; float pattern_data[ANALOG_BUFSIZE];