Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}
h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}
.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}
.tabSelected{color:[[ColorPalette::PrimaryDark]];
background:[[ColorPalette::TertiaryPale]];
border-left:1px solid [[ColorPalette::TertiaryLight]];
border-top:1px solid [[ColorPalette::TertiaryLight]];
border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}
.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}
.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}
.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity=60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser
Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])
<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]
----
Also see [[AdvancedOptions]]
BitLib is the BitScope Programmer's Library.
BitLib is an external library that contains useful BitScope functions. With BitLib, a user can control all aspects of the BitScope from any programming language, as long as that language supports external libraries. BitLib functions include triggering, capturing, waveform generator functions, channel setup and streaming.
Languages that have been used to create BitLib applications include C/C++, Delphi, Python, MatLab, LabView, Ruby and VB.
BitLib is available for free download from the [[website|http://www.bitscope.com]].
The BitScope Connection Manager is an application that searches your system for connected BitScopes.
The Connection Manager manages the [[Probe File]] for use with other applications. It also allows link testing and configuration of BitScopes.
The Connection Manager can be downloaded from the [[website|http://www.bitscope.com]].
[img[img/17.png]]
To select a CANBus protocol, select CAN from the [[Protocol Nybble]] pop-up menu. When CANBus is selected 'C' is displayed in the Protocol Nybble.
To set CANBus options, left click on the Protocol Nybble to open the [[Protocol Options]].
Note that CANBus only requires one logic line. When CAN is selected on a Protocol Nybble, all 4 lines will be assigned the CAN protocol. Each line will be independent, and can be disabled from the [[Protocol Options]].
More information on the CANBus protocol can be found [[here|http://en.wikipedia.org/wiki/Controller_area_network]].
The capture button shows the current status of the capture, and also controls the capture cycle.
[img[img/10.png]]
Left-click the Capture Button to start a capture cycle. The capture cycle will perform the following steps:
{{{
Armed -> Capture -> Acquire -> Decode -> Idle
}}}
The steps are as follows:
*ARMED - Once the Capture Button is clicked, the button will report 'ARMED' and wait for the [[Trigger condition|Trigger]].
*CAPTURE - Once the trigger condition is seen, the data will be captured into BitScope's internal memory.
*ACQUIRE - The data will be downloaded to your computer. This may take a few seconds for large data sets or slow network connections.
*DECODE - The data will be decoded according to the chosen [[Protocol|Protocols]] for the current [[nybble|Protocol Nybble]]. After this step the capture cycle is complete.
Note that the trigger will not timeout, so left-click the Capture Button to abort the capture cycle.
It is also possible to capture continuously. Right click on the capture button to select repeat mode:
[img[img/11.png]]
In repeat mode, the repeat symbol will appear beside the button:
[img[img/12.png]]
In repeat mode, left-clicking the Capture Button will run the capture cycle repeatedly. Left-click the Capture Button again to stop the cycle. Note that if you change settings in repeat mode, these settings will update on the next capture cycle.
The Channel Key is a graphical representation of the logic POD pins on the BitScope. Valid channels are shown in a colored square. Use this key to find the relevant pin on the BitScope.
[img[img/29.png]]
#Analog Pins - The pins in columns 1 and 2 are reserved for the Analog POD channels on the BitScope. These channels are used for the [[Analog Nybble|Protocol Nybble]]
#Logic Pins - The colored pins shown here are reserved for the digital logic channels. The ground pin is beneath each logic pin. These pins correspond to the [[High|Protocol Nybble]] and [[Low|Protocol Nybble]] Nybble.
#Selected Channel - When a channel is selected, the light on the Channel Key will expand. To select a channel, you must left-click on the [[Channel Name|Channels]].
Logic will capture from BitScope's analog and digital channels. On most BitScope, only one analog channel will be captured along with the digital data.
[img[img/15.png]]
Each channel has a color code, that can be used to match to the [[Packet Log]]. Use the [[Channel Key]] to match the channel color to the BitScope front panel.
For each channel, the [[Trigger]] condition can be configured, as well as the [[Display Mode]].
Each channel belongs to a [[Protocol Nybble]], a collection of 4 channels. To change the [[protocol|Protocols]] for a channel, you must use the Protocol Nybble.
To select a channel, left-click on the channel name or color. This will enable single channel features such as the [[Duty Cycle measurement|Cursor Measurements]].
It is also possible to change the name of a channel. To change the name, right-click the text. Note that the name is saved per [[Protocol|Protocols]].
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #3af
PrimaryMid: #008
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #000
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
config.options.chkAnimate = false;
The Connect Buttons will appear when the application first starts up, or when the application is disconnected from a BitScope. The Connect Buttons include the SETUP button, and the CONNECT button.
[img[img/01.png]]
To connect to a BitScope, first make sure the application is configured correctly by pressing the SETUP button. This will open the SETUP panel, where you can configure your BitScope. For more information see [[Connecting To A BitScope]].
Next, click CONNECT. If connection was successful, then the CONNECT button will turn green and display the BitScope version number. If connection was unsuccessful, then the CONNECT button will turn red.
For more information on connecting to a BitScope see the wiki entry [[here|Connecting To A BitScope]].
To connect to a BitScope, enter a [[probe file|Probe File]] link into the SETUP panel. To access the setup panel, press the [[SETUP|Connect Buttons]] button. To attempt to connect, press the [[CONNECT|Connect Buttons]].
[img[img/01.png]]
The link name has the form
{{{
PROTOCOL:ADDRESS
}}}
where PROTOCOL is one of UDP, USB, TTY or NIL. Address is the IP address or com port of the BitScope. For more information on links, see [[Probe File]]. If you do not know the link name for your BitScope or cannot connect, please use the [[BitScope Connection Manager]] to locate your BitScope. The Connection Manager is a free application that can be dowloaded from www.bitscope.com.
Once the setup is configured, press the [[CONNECT|Connect Buttons]]. If connection is successful, CONNECT button should turn green, and display the BitScope version number:
[img[img/31.png]]
If unsuccessful, the CONNECT button will turn red. If no BitScopes were found, check that the entry in the [[probe file|Probe File]] is correct, and that your BitScope is correctly attached. Please use the [[BitScope Connection Manager]] if you have further difficulties connecting to your BitScope.
The Control Panel controls the parameters used for a data capture.
[img[img/20.png]]
#Capture Time
#Sample Rate
#PreTrigger
To change any of these parameters, right-click to open the pop-up menu of options. The selected value will be used for the next capture.
Note that for long captures or fast sample rates, the number of sample points may exceed BitScope's internal buffer. If this occurs, then the parameters may be reduced to accommodate the buffer size. If you choose a sample rate that is too fast, then the capture time will be reduced. Conversely, if you choose a capture time that is too long, then the sample rate will be reduced.
Please note that some [[Protocols]] will require a sample rate several times higher than the protocol's sample rate. If this is not the case, then the data may be decoded incorrectly.
The Cursor Measurements are useful statistics derived from the two [[Cursors]]. The Mark cursor is a green cursor, and the Point cursor is the red cursor. The Cursor Measurements are located at the bottom of the screen.
!!Cursor Time Measurements
[img[img/13.png]]
The measurements are as follows:
*Mark Time - The time position of the Mark (green) cursor. Time is calculated from the trigger point.
*Point Time - The time position of the Point (red) cursor. Time is calculated from the trigger point.
*Diff Time - The time between the two cursors. The Mark cursor is considered the left cursor i.e. T = Point - Mark.
!!Derived Cursor Measurements
[img[img/28.png]]
*Frequency. Frequency calculated from the two cursors where the time between the cursors = one period. Note that F = 1/Diff Time.
The Logic cursors are shown on the main display:
[img[img/14.png]]
1. Mark Cursor
2. Point Cursor
The time values of the cursors are shown in the [[Cursor Measurements]] bar at the base of the screen. The time measured between cursors is also available in the Cursor Measurements bar.
To move the cursors, simply hold left-click and drag the cursor to the appropriate position.
The cursors also have a snap-to-edge feature, which can be used by holding the Ctrl key while moving the cursors. The cursors will snap to the [[logic lines|Display Mode]], not the packet lines.
/***
|Name|DisableWikiLinksPlugin|
|Source|http://www.TiddlyTools.com/#DisableWikiLinksPlugin|
|Version|1.6.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|selectively disable TiddlyWiki's automatic ~WikiWord linking behavior|
This plugin allows you to disable TiddlyWiki's automatic ~WikiWord linking behavior, so that WikiWords embedded in tiddler content will be rendered as regular text, instead of being automatically converted to tiddler links. To create a tiddler link when automatic linking is disabled, you must enclose the link text within {{{[[...]]}}}.
!!!!!Usage
<<<
You can block automatic WikiWord linking behavior for any specific tiddler by ''tagging it with<<tag excludeWikiWords>>'' (see configuration below) or, check a plugin option to disable automatic WikiWord links to non-existing tiddler titles, while still linking WikiWords that correspond to existing tiddlers titles or shadow tiddler titles. You can also block specific selected WikiWords from being automatically linked by listing them in [[DisableWikiLinksList]] (see configuration below), separated by whitespace. This tiddler is optional and, when present, causes the listed words to always be excluded, even if automatic linking of other WikiWords is being permitted.
Note: WikiWords contained in default ''shadow'' tiddlers will be automatically linked unless you select an additional checkbox option lets you disable these automatic links as well, though this is not recommended, since it can make it more difficult to access some TiddlyWiki standard default content (such as AdvancedOptions or SideBarTabs)
<<<
!!!!!Configuration
<<<
<<option chkDisableWikiLinks>> Disable ALL automatic WikiWord tiddler links
<<option chkAllowLinksFromShadowTiddlers>> ... except for WikiWords //contained in// shadow tiddlers
<<option chkDisableNonExistingWikiLinks>> Disable automatic WikiWord links for non-existing tiddlers
Disable automatic WikiWord links for words listed in: <<option txtDisableWikiLinksList>>
Disable automatic WikiWord links for tiddlers tagged with: <<option txtDisableWikiLinksTag>>
<<<
!!!!!Revisions
<<<
2008.07.22 [1.6.0] hijack tiddler changed() method to filter disabled wiki words from internal links[] array (so they won't appear in the missing tiddlers list)
2007.06.09 [1.5.0] added configurable txtDisableWikiLinksTag (default value: "excludeWikiWords") to allows selective disabling of automatic WikiWord links for any tiddler tagged with that value.
2006.12.31 [1.4.0] in formatter, test for chkDisableNonExistingWikiLinks
2006.12.09 [1.3.0] in formatter, test for excluded wiki words specified in DisableWikiLinksList
2006.12.09 [1.2.2] fix logic in autoLinkWikiWords() (was allowing links TO shadow tiddlers, even when chkDisableWikiLinks is TRUE).
2006.12.09 [1.2.1] revised logic for handling links in shadow content
2006.12.08 [1.2.0] added hijack of Tiddler.prototype.autoLinkWikiWords so regular (non-bracketed) WikiWords won't be added to the missing list
2006.05.24 [1.1.0] added option to NOT bypass automatic wikiword links when displaying default shadow content (default is to auto-link shadow content)
2006.02.05 [1.0.1] wrapped wikifier hijack in init function to eliminate globals and avoid FireFox 1.5.0.1 crash bug when referencing globals
2005.12.09 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.DisableWikiLinksPlugin= {major: 1, minor: 6, revision: 0, date: new Date(2008,7,22)};
if (config.options.chkDisableNonExistingWikiLinks==undefined) config.options.chkDisableNonExistingWikiLinks= true;
if (config.options.chkDisableWikiLinks==undefined) config.options.chkDisableWikiLinks=true;
if (config.options.txtDisableWikiLinksList==undefined) config.options.txtDisableWikiLinksList="DisableWikiLinksList";
if (config.options.chkAllowLinksFromShadowTiddlers==undefined) config.options.chkAllowLinksFromShadowTiddlers=true;
if (config.options.txtDisableWikiLinksTag==undefined) config.options.txtDisableWikiLinksTag="excludeWikiWords";
// find the formatter for wikiLink and replace handler with 'pass-thru' rendering
initDisableWikiLinksFormatter();
function initDisableWikiLinksFormatter() {
for (var i=0; i<config.formatters.length && config.formatters[i].name!="wikiLink"; i++);
config.formatters[i].coreHandler=config.formatters[i].handler;
config.formatters[i].handler=function(w) {
// supress any leading "~" (if present)
var skip=(w.matchText.substr(0,1)==config.textPrimitives.unWikiLink)?1:0;
var title=w.matchText.substr(skip);
var exists=store.tiddlerExists(title);
var inShadow=w.tiddler && store.isShadowTiddler(w.tiddler.title);
// check for excluded Tiddler
if (w.tiddler && w.tiddler.isTagged(config.options.txtDisableWikiLinksTag))
{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
// check for specific excluded wiki words
var t=store.getTiddlerText(config.options.txtDisableWikiLinksList);
if (t && t.length && t.indexOf(w.matchText)!=-1)
{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
// if not disabling links from shadows (default setting)
if (config.options.chkAllowLinksFromShadowTiddlers && inShadow)
return this.coreHandler(w);
// check for non-existing non-shadow tiddler
if (config.options.chkDisableNonExistingWikiLinks && !exists)
{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
// if not enabled, just do standard WikiWord link formatting
if (!config.options.chkDisableWikiLinks)
return this.coreHandler(w);
// just return text without linking
w.outputText(w.output,w.matchStart+skip,w.nextMatch)
}
}
Tiddler.prototype.coreAutoLinkWikiWords = Tiddler.prototype.autoLinkWikiWords;
Tiddler.prototype.autoLinkWikiWords = function()
{
// if all automatic links are not disabled, just return results from core function
if (!config.options.chkDisableWikiLinks)
return this.coreAutoLinkWikiWords.apply(this,arguments);
return false;
}
Tiddler.prototype.disableWikiLinks_changed = Tiddler.prototype.changed;
Tiddler.prototype.changed = function()
{
this.disableWikiLinks_changed.apply(this,arguments);
// remove excluded wiki words from links array
var t=store.getTiddlerText(config.options.txtDisableWikiLinksList,"").readBracketedList();
if (t.length) for (var i=0; i<t.length; i++)
if (this.links.contains(t[i]))
this.links.splice(this.links.indexOf(t[i]),1);
};
//}}}
The Display Mode determines how logic data should be displayed. There are three options: Timing (T), Packets (P) or Mixed (M). To select a Display Mode, right-click a box in the 'Mode' column of the application. A pop-up menu with the options will appear. Left-clicking a Mode box will toggle between the last selected value. More details on each mode are shown below.
!!Timing Display Mode
[img[img/02.png]]
Here Timing Mode (T) is selected. In this mode, only the logic data is shown. Data samples will be either high or low.
!!Packet Display Mode
[img[img/03.png]]
Here Packet Mode (P) is selected. The [[packets|Packets]] that are displayed are determined by the [[Protocol|Protocols]] that is currently selected for the [[nybble|Protocol Nybble]]. The information displayed in the packet can be set to data, address or packet type. For more information on packets see [[here|Packets]].
!!Mixed Display Mode
[img[img/04.png]]
In Mixed Mode (M), both [[packets|Packets]] and the timing data are displayed.
[[BitScope Logic|Logic]] is a mixed signal logic timing and protocol analysis application for BitScope.
It features customizable [[logic triggers|Trigger]], [[cursors|Cursors]], [[zoom controls|Navigator]], [[timing diagrams|Display Mode]], and [[packet decoding|Protocols]].
Protocols supported for decoding and analysis include [[CANBus]], [[SPI]], [[I2C]] and [[UART]].
To use this document, simply click links inside the text or on the right hand menu. You can also use the 'search bar' to locate a specific entry. Click 'close' in the top right corner to close an entry. To see all references to the current document click 'more' on the top right of the entry, then 'references'. Click 'edit' if you wish to add notes to any entry.
To get started, try the sections:
*[[Logic]] - Application overview and help guide
*[[Connecting To A BitScope]] - Instructions on BitScope connection
*[[Operating Logic]] - Overview of Logic controls
*[[Protocols]] - Configuring the protocol decoder
*[[Channel Key]] - Match the colors to the BitScope front panel
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
The Help Bar can be used for quick help tips. To enable the Help Bar, click the help button at the top of the screen.
[img[img/22.png]]
Once the help bar is visible, move the mouse pointer over the application. A simple help tip will appear in the Help Bar.
[img[img/23.png]]
This feature can be used for a quick reference.
[img[img/25.png]]
To select an I2C protocol, select I2C from the [[Protocol Nybble]] pop-up menu.
To set I2C options, left click on the Protocol Nybble to open the [[Protocol Options]].
Note that I2C only requires two logic lines, a data line (SDA) and a clock (SCL). When I2C is selected on a Protocol Nybble, the nybble will be grouped into 2 independent I2C protocol decoders. The first will use lines 0 and 1, and the second will use lines 2 and 3. Each 'decoder' will work independently, and can be disabled from the [[Protocol Options]]. These line configurations are pre-determined on the Protocol Nybble. It is possible to change the name of each [[channel|Channels]], but the functionality will always be fixed in this original order.
More information on the I2C protocol can be found [[here|http://en.wikipedia.org/wiki/I²C]].
BitScope logic is a logic analyzer and protocol decoder application. Below are the main controls and displays used in Logic.
[img[img/00.png]]
1. [[Packet Log]]
2. [[Connect Button|Connect Buttons]]
3. Data [[Packets]] and Timing Lines
4. [[Cursors]]
5. [[Display Mode]]
6. [[Trigger]]
7. [[Channels]]
8. [[Help Bar]]
9. [[Inspect Button|Packet Log]]
10. [[Analog Nybble|Protocol Nybble]]
11. [[High Nybble|Protocol Nybble]]
12. [[Low Nybble|Protocol Nybble]]
13. [[Channel Key]]
14. [[Cursor Time Measurements|Cursor Measurements]]
15. [[Capture Time|Control Panel]]
16. [[Sample Rate|Control Panel]]
17. [[Pre-Trigger|Control Panel]]
18. [[Navigator]]
19. [[Derived Cursor Measurements|Cursor Measurements]]
20. [[Capture Button]]
21. [[Packet Inspector|Packet Log]]
22. [[Protocol Options]]
!!Getting Started
To launch the program, run the file BitScopeLogic.exe in Windows, or bitscope-logic in Linux.
To begin, select SETUP from the right panel to enter the BitScope's link. The SETUP box will adjust the [[probe file|Probe File]] automatically.
Press CONNECT to attempt a connection. Note that the Logic will attempt to open each link in the probe file until it finds a successful link.
Once connected, press the [[Capture Button]] or press Space bar to capture data from BitScope. Logic should download and decode the data automatically. For details on operation of Logic, please refer to [[Operating Logic]].
Logic is built on top of the [[BitLib programming library|BitLib]], which is available for download from the [[website|http://www.bitscope.com]].
[[Getting Started]]
[[Connecting To A BitScope]]
[[Operating Logic]]
[[Channel Colors|Channel Key]]
[[Display Mode]]
[[Trigger]]
[[Protocols]]
[[Navigator]]
[[Cursors]]
[[Probe File]]
[[Troubleshooting]]
The Navigator is used to explore the captured data set. The Navigator is located at the base of the main display.
[img[img/21.png]]
1. View Port
2. Logic Lines
In the Navigator, data is indicated on the Logic Lines. When a channel is high, a Logic Line will be colored. When the channel is low, the Logic Line will be blank. The Navigator will always show the full captured buffer.
The current display screen is indicated by the green View Port. The View Port controls are as follows:
* Zoom In - Ctrl + Mouse Wheel Up
* Zoom Out - Ctrl + Mouse Wheel Down
* Move Left - Mouse Wheel Down
* Move Right - Mouse Wheel Up
If you do not have a mouse wheel, then the following controls are available:
* Zoom In - Up Arrow
* Zoom Out - Down Arrow
* Move Left - Left Arrow
* Move Right - Right Arrow
Note that these commands can be used when the mouse pointer is on the Navigator or on the main display.
For finer control over the View Port position, the View Port can be moved by left-clicking and dragging to the appropriate location.
!!!Out of bounds
When zooming out, it is possible to zoom out too far. In this case, the zoom will keep the correct center, but will display the View Port in orange:
[img[img/33.png]]
An orange View Port indicates that the View Port has a region out of bounds, and that there is blank data on the screen.
Logic is a logic analyzer and protocol decoder for use with BitScope hardware. First you will need to have your BitScope connected on the network or via USB.
The Logic application operates in the following way:
{{{
Connect -> Setup -> Capture -> Analyze.
}}}
!!!Connect
To connect to a BitScope, first click [[Setup|Connect Buttons]]. Make sure the settings are correct, and then click [[Connect|Connect Buttons]]. The Connect button should turn green if connection was successful. The Connect button will turn red if connection was unsuccessful. If you cannot connect to a BitScope, then you may have problems with your [[Probe File]]. Please see [[Connecting To A BitScope]] for more details.
!!!Setup
Once connected, a [[Protocol|Protocols]] can be selected for a [[Protocol Nybble]]. The protocol details can be configured with the [[Protocol Options]] menu. A [[Trigger]] can also be setup on any combination of [[Channels]].
!!!Capture
With a protocol selected, we are ready to Capture. First we will need to setup the capture from the [[Control Panel]], to select the sample rate, capture time and pre-trigger. To start the capture, press the [[Capture Button]]. This will tell the BitScope to trigger on the signal, then capture, download and decode the data. Once this is complete, the application will display the data and the decoded packets on the [[main display|Logic]].
!!!Analyze
Once the data has been captured, it can be analyzed. First select an appropriate [[Display Mode]], depending on whether you wish to see edges or packets or both. Next, use the [[Navigator]] to scroll around to find a region of interest. To analyze packets and logic signals further, use the [[Cursors]], [[Packet Log]] and [[Cursor Measurements]].
The Packet Log lists all the packets in the current capture in order of start time. To view the Packet Log, click the INSPECT button at the top left of the application:
[img[img/30.png]]
The Packet Log and Packet Inspector will appear in the right hand panel of the application.
!!Packet Log
[img[img/07.png]]
1. [[Channel|Channels]] color - This is the color assigned to each channel
2. Channel Name - The name assigned to this channel.
3. [[Packet Type|Packets]] - The packet type e.g. Data, ACK, ERR, CRC. Each code is different depending on the [[Protocol|Protocols]].
4. Packet Data Payload - The data contained in the packet, this will vary depending on the [[Protocol|Protocols]].
5. Packet Start Time - The sample time of the first edge of a packet.
6. Packet Duration - The duration from the start time to the last sample of the packet.
Left-clicking a packet on the main display will highlight the packet in the Packet Log. Use the up and down arrows to navigate through the Packet Log. If a packet is selected it will be shown in the Packet Inspector.
Disabling a channel in the [[Protocol Options]] will remove that channel from the Packet Log.
!!Packet Inspector
The Packet Inspector is shown beneath the Packet Log.
[img[img/32.png]]
The Packet Inspector will show details of the selected packet. If no packet is selected, then the Inspector will be empty.
In Logic, packets show information depending on the chosen [[Protocol|Protocols]]. The information show in each packet can be either:
*Type - This is the type of packet, for example ACK, Data, ERR, CRC etc. Type is indicated with a type code which differs between protocols.
*Data - Data shows the information read from the timing data.
This information will be shown in each packet on the screen. If there is not enough room on the packet, no text will be displayed on the screen. To view the details in this case, you can select the packet and view the contents with the [[Packet Log]].
[img[img/34.png]]
To select a packet, left click on the packet on the data screen. This will highlight the packet on the screen, and also in the [[Packet Log]]. The [[Packet Inspector|Packet Log]] will show the packet information in more detail. In the above example, the Data packet is highlighted. To de-select a packet, simply left-click the packet.
<!--{{{-->
<div class='header' macro='gradient horz #85a #85a'>
<div class='headerShadow'></div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='sidebar'>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'>
</div><div id='sidebarTabs' refresh='macro' force='true' macro='slider chkSideBarTabs SideBarTabs "index »" "display lists of tiddlers"'></div>
<!-- <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div> -->
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
This file configures the BitScope Link Library to connect with BitScope devices via RS-232, USB or UDP IP networks. You should not edit this file unless you are an advanced user. The probe file specifies the links that a BitScope application will attempt to connect to. [[BitScope Logic|Logic]] uses the probe file to manage links. In Logic, the probe file can be managed by clicking the [[SETUP button|Connect Buttons]] when the application is disconnected. Editing entries in the Setup page will write entries to the probe file.
If you do not know the correct probe file link for your BitScope, then you should run the [[BitScope Connection Manager]] application to locate the BitScope on your system. The BitScope Connection Manager is free and available for download from the [[website|http://www.bitscope.com]].
!!Probe File Locations
The probe file is located in different places, depending on the operating system. There are normally 2 probe files on your system, a global and a local probe file. The local probe file should be used at all times.
!!!On Windows
On Windows installations, the global probe file is located at
{{{
<INSTALLATION DIRECTORY>\BitScope.prb
}}}
where <INSTALLATION DIRECTORY> is the location chosen when you installed a BitScope application. The default is
{{{
C:\Program Files\BitScope\BitScope.prb
}}}
The local probe file is located in the following locations, depending on the Windows version:
For XP
{{{
C:\Documents and Settings\<user>\Local Settings\Application Data\BitScope\BitScope.prb
}}}
where <user> is your user name on your windows installation.
For Vista/Windows 7, the local probe file is at:
{{{
C:\Users\<user>\AppData\Local\BitScope\BitScope.prb
}}}
where <user> is your user name on your windows installation.
!!!On Linux
On linux systems copies of the probe file are created or installed in two places, the local probe file is
{{{
~/.bitscope/config/bitscope.prb
}}}
and the global probe file is located at
{{{
/etc/bitscope/bitscope.prb
}}}
Note that the local probe file is the probe file used by the Logic application. If this file does not exist, you should use the [[Connection Manager|BitScope Connection Manager]] application to locate your BitScopes and correctly configure your system.
!!Probe File Syntax
Whitespace, blank lines or lines including '#' are ignored.
The remaining lines each define a single "link". Each link specifies a connection method and identifies a device.
The complete syntax of a LINK is:
LINK => SERIAL|NETWORK|NONE
SERIAL => UDP:ADDRESS(:PORT)?(:ID)?(:BC)?
NETWORK => (TTY|USB):DEVICE(:BC)?
NONE => NIL:BC(:PRODUCT)?(:VENDOR)?
TTY => serial connection method
USB => USB/Serial connection method
UDP => User Datagram Protcol (network) method
NIL => No connection method (simulate device)
DEVICE => serial or USB device (eg, /dev/ttyUSB0)
ADDRESS => IP address or host name or "MULTICAST"
PRODUCT => Device identifier (up to 8 alpha numeric)
VENDOR => Device vendor identifier (8 alpha-mueric)
PORT => IP port number (4 hex digits)
ID => BitScope LIA ID (4 hex digits)
BC => byte-code revision ID (eg, BC000301)
For example, to connect to a serial BitScope:
{{{
TTY:/dev/ttyS2
}}}
a USB BitScope:
{{{
USB:/dev/ttyUSB1
}}}
a serial BitScope, but only if it's a BS311
{{{
TTY:/dev/ttyS2:BS031100
}}}
a network BitScope via multicast
{{{
UDP:MULTICAST
}}}
or (if there are more than one BitScope on the local net) and you want to use port numbers to differentiate them
{{{
UDP:MULTICAST:4321
UDP:MULTICAST:4322
}}}
or using different IP addresses with unicast:
{{{
UDP:192.168.1.2
UDP:192.168.1.5
}}}
or if your BitScope has the hostname LABSCOPE
{{{
UDP:LABSCOPE
}}}
or to connect with our demo BS300N on the Internet
{{{
UDP:sydney.bitscope.com
}}}
!!Probe Defaults
These are reasonable defaults for a typical Windows host.
{{{
UDP:MULTICAST
USB:COM3
USB:COM4
USB:COM5
USB:COM6
USB:COM7
USB:COM8
USB:COM9
UDP:SYDNEY
TTY:COM1
TTY:COM2
NIL:BS032500
}}}
These are reasonable defaults for a typical Linux host.
{{{
USB:/dev/ttyUSB0
UDP:MULTICAST
USB:/dev/ttyUSB1
USB:/dev/ttyUSB2
UDP:SYDNEY
TTY:/dev/ttyS0
TTY:/dev/ttyS1
NIL:BS032500
}}}
In Logic, protocol decoding is divided into nybbles. There are 3 nybbles in the application: The Analog Nybble, High Nybble and Low Nybble. Both the Low Nybble and High Nybble contain 4 logic lines. The Analog Nybble differs between BitScopes, but usually contains one analog channel. The High and Low Nybbles can be assigned a [[Protocol|Protocols]] by right-clicking on the protocol box. The Nybbles are shown below:
Analog Nybble:
[img[img/19.png]]
High Nybble:
[img[img/16.png]]
Low Nybble:
[img[img/18.png]]
Note that for each [[Protocol|Protocols]], different numbers of data lines are required. For example, for the high-nybble SPI protocol above, 4 data lines are needed, and each line is assigned a function SS, MOSI, MISO or CLK. On the other hand, with a [[CANBus]] protocol selected, only one data line is needed. This means that a CAN nybble will contain 4 separate CAN lines:
[img[img/17.png]]
If you do not need the other CAN lines, then they can be disabled with the [[Protocol Options]].
The Protocol Options give the user control over the settings for the current protocol. To view the Protocol Options, simply left-click on the protocol nybble:
[img[img/06.png]]
When a protocol is selected, it will be highlighted in blue, and the options will appear in the right panel.
[img[img/05.png]]
Protocol Options will be slightly different, depending on the [[Protocol|Protocols]] selected. On all protocol options however, the Channel enable/disable option will always be present. The channel buttons determine whether data is decoded or not. If you are decoding large data sets, and do not need all 4 lines decoded, you can switch irrelevant channels off with this control.
Logic can decode data according to various protocols. The protocols currently supported are [[CANBus]], [[SPI]], [[I2C]], and [[ASync Serial|UART]]. A protocol is applied to a [[Protocol Nybble]], or 4 logic channels.
A Protocol can be selected by right-clicking a protocol cell, as shown below:
[img[img/27.png]]
Selecting a protocol will automatically decode the existing data.
To set the [[Options|Protocol Options]] for a particular protocol, left-click the protocol cell.
Note that different protocols require different numbers of channels. If extra channels are available in the nybble, then they will be decoded separately. For example, CANBus only requires one channel. This means that setting a nybble to CANBus will result in 4 separate CANBus lines. On the other hand, SPI requires 4 channels, so only one SPI Bus can be decoded with one nybble.
For more information on a specific protocol, please see its wiki entry.
[img[img/16.png]]
To select a SPI protocol, select SPI from the [[Protocol Nybble]] pop-up menu. When SPI is selected, an 'S' is displayed in the Protocol Nybble.
To set SPI options, left click on the Protocol Nybble to open the [[Protocol Options]].
Note that SPI requires four logic lines:
* SS - Slave Select
* MOSI - Master Out, Slave In
* MISO - Master In, Slave Out
* CLK - Clock
These lines are pre-determined on the Protocol Nybble. It is possible to change the name of each [[channel|Channels]], but the functionality will always be fixed in this original order.
More information on the SPI protocol can be found [[here|http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus]].
<<search>><<closeAll>><<permaview>><<newTiddler>><<slider chkSliderOptionsPanel OptionsPanel 'options »' 'Change TiddlyWiki advanced options'>>
Wiki help for the BitScope Logic Analyzer
/*{{{*/
body{font-family:Verdana, Helvetica, sans-serif;}
#mainMenu {position:relative;}
#displayArea {margin-left: 1em;}
/* Size and style of the header title bar */
.header {height: 6em;}
.siteTitle {position: relative; bottom: 1em; font-weight:bold;font-family:Arial, Helvetica, sans-serif;}
.siteSubtitle {position: relative; bottom: 2em;}h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
/* headings */
h1,h2,h3 {padding-bottom:1px; margin-top:0.2em;margin-bottom:0.5em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:2.35em;}
h2 {font-size:1.65em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
/*Tiddly title font format */
.title {font-size:2.35em;font-weight:bold;border-bottom:1px solid #333;font-family:Arial, Helvetica, sans-serif;}
/* Tiddly font format */
.tiddlyLinkExisting {font-weight:normal;}
/*
This aligns the "index" button in the sidetabs
*/
#sidebarTabs .button {
margin:0em 0.2em;
padding:0.2em 0.3em;
display:block;
}
/*
The following main menu tabs change the
appearance of the mainmenu, underline, block text etc
*/
#mainMenu .tiddlyLink, #mainMenu a.button{
display: block;
border-bottom: 1px solid #aaa;
padding:0em 0em;
text-decoration: none;
width: 13em;
margin-top: -1em;
}
#mainMenu a:hover {
color: #000 !important;
background-color: #bcd !important;
}
/*}}}*/
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}
h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}
.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}
.tabSelected{color:[[ColorPalette::PrimaryDark]];
background:[[ColorPalette::TertiaryPale]];
border-left:1px solid [[ColorPalette::TertiaryLight]];
border-top:1px solid [[ColorPalette::TertiaryLight]];
border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}
.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}
.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}
.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity=60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/%
!info
|Name|ToggleRightSidebar|
|Source|http://www.TiddlyTools.com/#ToggleRightSidebar|
|Version|2.0.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|transclusion|
|Description|show/hide right sidebar (SideBarOptions)|
Usage
<<<
{{{
<<tiddler ToggleRightSidebar>>
<<tiddler ToggleRightSidebar with: label tooltip>>
}}}
Try it: <<tiddler ToggleRightSidebar##show
with: {{config.options.chkShowRightSidebar?'►':'◄'}}>>
<<<
Configuration:
<<<
{{{
config.options.chkShowRightSidebar (true)
config.options.txtToggleRightSideBarLabelShow (◄)
config.options.txtToggleRightSideBarLabelHide (►)
}}}
<<<
!end
!show
<<tiddler {{
var co=config.options;
if (co.chkShowRightSidebar===undefined) co.chkShowRightSidebar=true;
var sb=document.getElementById('sidebar');
var da=document.getElementById('displayArea');
if (sb) {
sb.style.display=co.chkShowRightSidebar?'block':'none';
da.style.marginRight=co.chkShowRightSidebar?'':'1em';
}
'';}}>><html><nowiki><a href='javascript:;' title="$2"
onmouseover="
this.href='javascript:void(eval(decodeURIComponent(%22(function(){try{('
+encodeURIComponent(encodeURIComponent(this.onclick))
+')()}catch(e){alert(e.description?e.description:e.toString())}})()%22)))';"
onclick="
var co=config.options;
var opt='chkShowRightSidebar';
var show=co[opt]=!co[opt];
var sb=document.getElementById('sidebar');
var da=document.getElementById('displayArea');
if (sb) {
sb.style.display=show?'block':'none';
da.style.marginRight=show?'':'1em';
}
saveOptionCookie(opt);
var labelShow=co.txtToggleRightSideBarLabelShow||'◄';
var labelHide=co.txtToggleRightSideBarLabelHide||'►';
if (this.innerHTML==labelShow||this.innerHTML==labelHide)
this.innerHTML=show?labelHide:labelShow;
this.title=(show?'hide':'show')+' right sidebar';
var sm=document.getElementById('storyMenu');
if (sm) config.refreshers.content(sm);
return false;
">$1</a></html>
!end
%/<<tiddler {{
var src='ToggleRightSidebar';
src+(tiddler&&tiddler.title==src?'##info':'##show');
}} with: {{
var co=config.options;
var labelShow=co.txtToggleRightSideBarLabelShow||'◄';
var labelHide=co.txtToggleRightSideBarLabelHide||'►';
'$1'!='$'+'1'?'$1':(co.chkShowRightSidebar?labelHide:labelShow);
}} {{
var tip=(config.options.chkShowRightSidebar?'hide':'show')+' right sidebar';
'$2'!='$'+'2'?'$2':tip;
}}>>
The Logic trigger can be set for all logic channels, in any combination. The settings for a trigger channel can be configured from the Trigger column on the main display:
[img[img/09.png]]
To select a trigger, right-click on a channel's trigger cell to show the pop-up options:
[img[img/08.png]]
Left-clicking the trigger cell will toggle between the last selected value.
The trigger settings will be used for the next [[Capture|Capture Button]].
Note that the analog trigger cannot be used at the same time as the logic triggers.
Shown here are some frequently encountered problems when using Logic. As this software is in beta release, we appreciate any comments or suggestions you have to improve the software. Please send feedback to project@bitscope.com.
!!I can't find my BitScope
Firstly, you will need the link string for your BitScope. The link string is a [[Probe File]] entry that defines a BitScope communication link. Please use the [[BitScope Connection Manager]] to locate and test the BitScopes connected to your system. The Connection Manager will also configure your probe file. Once you have a link name, say UDP:192.168.1.75, then you will need to use to set up Logic. Click the [[SETUP button|Connect Buttons]] to access the setup panel. Enter the BitScope link string into the connection text box and press OK. Click the [[CONNECT button|Connect Buttons]] to attempt to connect to the BitScope. Note that if the Connection Manager can locate a BitScope, then Logic should find it as well. If the Connection Manager cannot find your BitScope, please consult the Connection Manager help files for assistance in detecting your BitScope.
!!Connecting to a BitScope takes too long
When using a probe file to connect to devices e.g. BitScope.prb, you may experience a long delay. This is usually due to an incorrectly configured [[probe file|Probe File]]. Logic will attempt to connect to each BitScope in the probe file until it finds a successful connection. If there are many invalid network links in the probe file, Logic will be waiting for a timeout on each of these network links. Each network link timeout may be long, so make sure the correct BitScope link is listed first.
!!How can I disable decoding on channels?
If you do not require all channels in [[Logic]], then they can be disabled with the [[Protocol Options]]. Left-click the [[Protocol Nybble]] to open the options panel. Select a channel button to toggle channels on/off.
!!Bugs
Please report any bugs you find to project@bitscope.com. In your message, please indicate your BitScope version number and the operating system you are using.
!!I have some other problem
If you have a software related problem with Logic please contact project@bitscope.com. If you have a hardware or BitScope related problem, please contact support@bitscope.com.
[img[img/26.png]]
To select the ASync Serial (UART) protocol, select ASync from the [[Protocol Nybble]] pop-up menu. The Protocol Nybble will indicate a 'U' when the UART protocol is selected.
To set ASync options, left click on the Protocol Nybble to open the [[Protocol Options]].
Note that ASync only requires one logic line. When ASync is selected on a Protocol Nybble, all 4 lines will be assigned the ASync protocol. Each line will be independent, and can be disabled from the [[Protocol Options]].
More information on the ASync protocol can be found [[here|http://en.wikipedia.org/wiki/Asynchronous_serial_communication]].
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->