Latest commit

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

IMPORTANT: Versioning:

Each of the repositories in the following table has a version number composed of 3 numbers in the form: v x.y.z

Tools [T]Libraries [L]Firmware [F]
qbmove simulinkqbAPIqbmove firmware
qbadminqbmove advanced firmware
hand firmware micro

E.g. xT is the x number of the Tools whereas yF is the y number of the Firmware version.

  • Every change in the number z means a change in the respective repo which not implies changes in other repos.
  • Every change in the number y in a repo is backward compatible reading the table from right to left. This means that if you have some new feature in a Firmware, you can still use old Libraries and Tools for management, but of course you will not be able to use the new features. In this case the rule is yF >= yL >= yT.
  • Every change in the number x means a change which is not backward compatible, hence you will need to update everything to use it. In this case the rule is xF = xL = xT.

Summarising

  • z independent
  • yF >= yL >= yT
  • xF = xL = xT

E.g.

ToolsLibrariesFirmwareCompatible
qbadmin v4.2.3qbAPI v4.5.0qbmove firmware v4.6.7YES
qbadmin v3.2.3qbAPI v4.5.0qbmove firmware v4.6.7NO
qbadmin v4.2.3qbAPI v4.5.7qbmove firmware v4.5.0YES

What is this?

These are the C/C++ libraries to interact with qbMove and qbHand

If you want to use these libraries with qbadmin software, be sure to organize your folder as follows:

  • your_workingcopy
    • qbAPI
    • qbadmin

Installation requirements

The simplest way to compile these libraries is by using the command line utility make. To do so, you will need also the gcc/g++ compiler installed on your system.

NOTE: if it is the first time you use qbrobotics devices on your computer, it is possible that you need to download the drivers to let your computer see the port correctly. To do that visit FTDI driver webpage -> VCP drivers and download the proper driver depending on your OS

Unix

You should have both gcc/g++ and make installed.

MacOSX

Download XCode from Mac App Store, this will install gcc/g++ and make utility.

Windows

Download MinGW and install it. Open MinGW Installation Manager, from the left panel select basic setup, then from the right panel select mingw32-base and mingw32-gcc-g++, then click on Installation -> Apply Changes. This will install the gcc/g++ compiler. To use it from the command line you need to provide to windows the binary path to the executable. Go to System Properties and click on Environment Variables. In the System Variable windows, look for path, select it and click edit. Go to the end of the Variable Value field, add a ; separator and add the path to the binary folder for gcc (usually it is in C:\MinGW\bin).

Download the make utility from here. Follow the installation instruction. In the end you will need to add the binary path to the Environment Variables. To do that follow the previous steps. (Usually the binary folder for the make utility is in C:\Program Files (x86)\GnuWin32\bin).

NOTE: if you have the CMD already opened when performing the installation, you probably will need to reopen a new one to be able to use the utilities.

Compile the libraries

Open the Terminal (UNIX and MacOSX) or the CMD (Windows), reach the /src folder and type make. Depending on your OS you should see a folder tree like this:

  • qbAPI
    • lib_win
      • libqbmove_comm.a
    • objs_win
    • src
    • license.txt
    • README.txt

or this:

  • qbAPI
    • lib_unix
      • libqbmove_comm.a
    • objs_unix
    • src
    • license.txt
    • README.txt

The generated libqbmove_comm.a is a static library and can be used in your own application. It is also used by qbadmin.

About

libraries for NMMI devices

Resources

Stars

7 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

IMPORTANT: Versioning:

Each of the repositories in the following table has a version number composed of 3 numbers in the form: v x.y.z

Tools [T]Libraries [L]Firmware [F]
qbmove simulinkqbAPIqbmove firmware
qbadminqbmove advanced firmware
hand firmware micro

E.g. xT is the x number of the Tools whereas yF is the y number of the Firmware version.

  • Every change in the number z means a change in the respective repo which not implies changes in other repos.
  • Every change in the number y in a repo is backward compatible reading the table from right to left. This means that if you have some new feature in a Firmware, you can still use old Libraries and Tools for management, but of course you will not be able to use the new features. In this case the rule is yF >= yL >= yT.
  • Every change in the number x means a change which is not backward compatible, hence you will need to update everything to use it. In this case the rule is xF = xL = xT.

Summarising

  • z independent
  • yF >= yL >= yT
  • xF = xL = xT

E.g.

ToolsLibrariesFirmwareCompatible
qbadmin v4.2.3qbAPI v4.5.0qbmove firmware v4.6.7YES
qbadmin v3.2.3qbAPI v4.5.0qbmove firmware v4.6.7NO
qbadmin v4.2.3qbAPI v4.5.7qbmove firmware v4.5.0YES

What is this?

These are the C/C++ libraries to interact with qbMove and qbHand

If you want to use these libraries with qbadmin software, be sure to organize your folder as follows:

  • your_workingcopy
    • qbAPI
    • qbadmin

Installation requirements

The simplest way to compile these libraries is by using the command line utility make. To do so, you will need also the gcc/g++ compiler installed on your system.

NOTE: if it is the first time you use qbrobotics devices on your computer, it is possible that you need to download the drivers to let your computer see the port correctly. To do that visit FTDI driver webpage -> VCP drivers and download the proper driver depending on your OS

Unix

You should have both gcc/g++ and make installed.

MacOSX

Download XCode from Mac App Store, this will install gcc/g++ and make utility.

Windows

Download MinGW and install it. Open MinGW Installation Manager, from the left panel select basic setup, then from the right panel select mingw32-base and mingw32-gcc-g++, then click on Installation -> Apply Changes. This will install the gcc/g++ compiler. To use it from the command line you need to provide to windows the binary path to the executable. Go to System Properties and click on Environment Variables. In the System Variable windows, look for path, select it and click edit. Go to the end of the Variable Value field, add a ; separator and add the path to the binary folder for gcc (usually it is in C:\MinGW\bin).

Download the make utility from here. Follow the installation instruction. In the end you will need to add the binary path to the Environment Variables. To do that follow the previous steps. (Usually the binary folder for the make utility is in C:\Program Files (x86)\GnuWin32\bin).

NOTE: if you have the CMD already opened when performing the installation, you probably will need to reopen a new one to be able to use the utilities.

Compile the libraries

Open the Terminal (UNIX and MacOSX) or the CMD (Windows), reach the /src folder and type make. Depending on your OS you should see a folder tree like this:

  • qbAPI
    • lib_win
      • libqbmove_comm.a
    • objs_win
    • src
    • license.txt
    • README.txt

or this:

  • qbAPI
    • lib_unix
      • libqbmove_comm.a
    • objs_unix
    • src
    • license.txt
    • README.txt

The generated libqbmove_comm.a is a static library and can be used in your own application. It is also used by qbadmin.

About

libraries for NMMI devices

Resources

Stars

7 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

IMPORTANT: Versioning:

Each of the repositories in the following table has a version number composed of 3 numbers in the form: v x.y.z

Tools [T]Libraries [L]Firmware [F]
qbmove simulinkqbAPIqbmove firmware
qbadminqbmove advanced firmware
hand firmware micro

E.g. xT is the x number of the Tools whereas yF is the y number of the Firmware version.

  • Every change in the number z means a change in the respective repo which not implies changes in other repos.
  • Every change in the number y in a repo is backward compatible reading the table from right to left. This means that if you have some new feature in a Firmware, you can still use old Libraries and Tools for management, but of course you will not be able to use the new features. In this case the rule is yF >= yL >= yT.
  • Every change in the number x means a change which is not backward compatible, hence you will need to update everything to use it. In this case the rule is xF = xL = xT.

Summarising

  • z independent
  • yF >= yL >= yT
  • xF = xL = xT

E.g.

ToolsLibrariesFirmwareCompatible
qbadmin v4.2.3qbAPI v4.5.0qbmove firmware v4.6.7YES
qbadmin v3.2.3qbAPI v4.5.0qbmove firmware v4.6.7NO
qbadmin v4.2.3qbAPI v4.5.7qbmove firmware v4.5.0YES

What is this?

These are the C/C++ libraries to interact with qbMove and qbHand

If you want to use these libraries with qbadmin software, be sure to organize your folder as follows:

  • your_workingcopy
    • qbAPI
    • qbadmin

Installation requirements

The simplest way to compile these libraries is by using the command line utility make. To do so, you will need also the gcc/g++ compiler installed on your system.

NOTE: if it is the first time you use qbrobotics devices on your computer, it is possible that you need to download the drivers to let your computer see the port correctly. To do that visit FTDI driver webpage -> VCP drivers and download the proper driver depending on your OS

Unix

You should have both gcc/g++ and make installed.

MacOSX

Download XCode from Mac App Store, this will install gcc/g++ and make utility.

Windows

Download MinGW and install it. Open MinGW Installation Manager, from the left panel select basic setup, then from the right panel select mingw32-base and mingw32-gcc-g++, then click on Installation -> Apply Changes. This will install the gcc/g++ compiler. To use it from the command line you need to provide to windows the binary path to the executable. Go to System Properties and click on Environment Variables. In the System Variable windows, look for path, select it and click edit. Go to the end of the Variable Value field, add a ; separator and add the path to the binary folder for gcc (usually it is in C:\MinGW\bin).

Download the make utility from here. Follow the installation instruction. In the end you will need to add the binary path to the Environment Variables. To do that follow the previous steps. (Usually the binary folder for the make utility is in C:\Program Files (x86)\GnuWin32\bin).

NOTE: if you have the CMD already opened when performing the installation, you probably will need to reopen a new one to be able to use the utilities.

Compile the libraries

Open the Terminal (UNIX and MacOSX) or the CMD (Windows), reach the /src folder and type make. Depending on your OS you should see a folder tree like this:

  • qbAPI
    • lib_win
      • libqbmove_comm.a
    • objs_win
    • src
    • license.txt
    • README.txt

or this:

  • qbAPI
    • lib_unix
      • libqbmove_comm.a
    • objs_unix
    • src
    • license.txt
    • README.txt

The generated libqbmove_comm.a is a static library and can be used in your own application. It is also used by qbadmin.

About

libraries for NMMI devices

Resources

Stars

7 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

IMPORTANT: Versioning:

Each of the repositories in the following table has a version number composed of 3 numbers in the form: v x.y.z

Tools [T]Libraries [L]Firmware [F]
qbmove simulinkqbAPIqbmove firmware
qbadminqbmove advanced firmware
hand firmware micro

E.g. xT is the x number of the Tools whereas yF is the y number of the Firmware version.

  • Every change in the number z means a change in the respective repo which not implies changes in other repos.
  • Every change in the number y in a repo is backward compatible reading the table from right to left. This means that if you have some new feature in a Firmware, you can still use old Libraries and Tools for management, but of course you will not be able to use the new features. In this case the rule is yF >= yL >= yT.
  • Every change in the number x means a change which is not backward compatible, hence you will need to update everything to use it. In this case the rule is xF = xL = xT.

Summarising

  • z independent
  • yF >= yL >= yT
  • xF = xL = xT

E.g.

ToolsLibrariesFirmwareCompatible
qbadmin v4.2.3qbAPI v4.5.0qbmove firmware v4.6.7YES
qbadmin v3.2.3qbAPI v4.5.0qbmove firmware v4.6.7NO
qbadmin v4.2.3qbAPI v4.5.7qbmove firmware v4.5.0YES

What is this?

These are the C/C++ libraries to interact with qbMove and qbHand

If you want to use these libraries with qbadmin software, be sure to organize your folder as follows:

  • your_workingcopy
    • qbAPI
    • qbadmin

Installation requirements

The simplest way to compile these libraries is by using the command line utility make. To do so, you will need also the gcc/g++ compiler installed on your system.

NOTE: if it is the first time you use qbrobotics devices on your computer, it is possible that you need to download the drivers to let your computer see the port correctly. To do that visit FTDI driver webpage -> VCP drivers and download the proper driver depending on your OS

Unix

You should have both gcc/g++ and make installed.

MacOSX

Download XCode from Mac App Store, this will install gcc/g++ and make utility.

Windows

Download MinGW and install it. Open MinGW Installation Manager, from the left panel select basic setup, then from the right panel select mingw32-base and mingw32-gcc-g++, then click on Installation -> Apply Changes. This will install the gcc/g++ compiler. To use it from the command line you need to provide to windows the binary path to the executable. Go to System Properties and click on Environment Variables. In the System Variable windows, look for path, select it and click edit. Go to the end of the Variable Value field, add a ; separator and add the path to the binary folder for gcc (usually it is in C:\MinGW\bin).

Download the make utility from here. Follow the installation instruction. In the end you will need to add the binary path to the Environment Variables. To do that follow the previous steps. (Usually the binary folder for the make utility is in C:\Program Files (x86)\GnuWin32\bin).

NOTE: if you have the CMD already opened when performing the installation, you probably will need to reopen a new one to be able to use the utilities.

Compile the libraries

Open the Terminal (UNIX and MacOSX) or the CMD (Windows), reach the /src folder and type make. Depending on your OS you should see a folder tree like this:

  • qbAPI
    • lib_win
      • libqbmove_comm.a
    • objs_win
    • src
    • license.txt
    • README.txt

or this:

  • qbAPI
    • lib_unix
      • libqbmove_comm.a
    • objs_unix
    • src
    • license.txt
    • README.txt

The generated libqbmove_comm.a is a static library and can be used in your own application. It is also used by qbadmin.

About

libraries for NMMI devices

Resources

Stars

7 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

IMPORTANT: Versioning:

Each of the repositories in the following table has a version number composed of 3 numbers in the form: v x.y.z

Tools [T]Libraries [L]Firmware [F]
qbmove simulinkqbAPIqbmove firmware
qbadminqbmove advanced firmware
hand firmware micro

E.g. xT is the x number of the Tools whereas yF is the y number of the Firmware version.

  • Every change in the number z means a change in the respective repo which not implies changes in other repos.
  • Every change in the number y in a repo is backward compatible reading the table from right to left. This means that if you have some new feature in a Firmware, you can still use old Libraries and Tools for management, but of course you will not be able to use the new features. In this case the rule is yF >= yL >= yT.
  • Every change in the number x means a change which is not backward compatible, hence you will need to update everything to use it. In this case the rule is xF = xL = xT.

Summarising

  • z independent
  • yF >= yL >= yT
  • xF = xL = xT

E.g.

ToolsLibrariesFirmwareCompatible
qbadmin v4.2.3qbAPI v4.5.0qbmove firmware v4.6.7YES
qbadmin v3.2.3qbAPI v4.5.0qbmove firmware v4.6.7NO
qbadmin v4.2.3qbAPI v4.5.7qbmove firmware v4.5.0YES

What is this?

These are the C/C++ libraries to interact with qbMove and qbHand

If you want to use these libraries with qbadmin software, be sure to organize your folder as follows:

  • your_workingcopy
    • qbAPI
    • qbadmin

Installation requirements

The simplest way to compile these libraries is by using the command line utility make. To do so, you will need also the gcc/g++ compiler installed on your system.

NOTE: if it is the first time you use qbrobotics devices on your computer, it is possible that you need to download the drivers to let your computer see the port correctly. To do that visit FTDI driver webpage -> VCP drivers and download the proper driver depending on your OS

Unix

You should have both gcc/g++ and make installed.

MacOSX

Download XCode from Mac App Store, this will install gcc/g++ and make utility.

Windows

Download MinGW and install it. Open MinGW Installation Manager, from the left panel select basic setup, then from the right panel select mingw32-base and mingw32-gcc-g++, then click on Installation -> Apply Changes. This will install the gcc/g++ compiler. To use it from the command line you need to provide to windows the binary path to the executable. Go to System Properties and click on Environment Variables. In the System Variable windows, look for path, select it and click edit. Go to the end of the Variable Value field, add a ; separator and add the path to the binary folder for gcc (usually it is in C:\MinGW\bin).

Download the make utility from here. Follow the installation instruction. In the end you will need to add the binary path to the Environment Variables. To do that follow the previous steps. (Usually the binary folder for the make utility is in C:\Program Files (x86)\GnuWin32\bin).

NOTE: if you have the CMD already opened when performing the installation, you probably will need to reopen a new one to be able to use the utilities.

Compile the libraries

Open the Terminal (UNIX and MacOSX) or the CMD (Windows), reach the /src folder and type make. Depending on your OS you should see a folder tree like this:

  • qbAPI
    • lib_win
      • libqbmove_comm.a
    • objs_win
    • src
    • license.txt
    • README.txt

or this:

  • qbAPI
    • lib_unix
      • libqbmove_comm.a
    • objs_unix
    • src
    • license.txt
    • README.txt

The generated libqbmove_comm.a is a static library and can be used in your own application. It is also used by qbadmin.

About

libraries for NMMI devices

Resources

Stars

7 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

IMPORTANT: Versioning:

Each of the repositories in the following table has a version number composed of 3 numbers in the form: v x.y.z

Tools [T]Libraries [L]Firmware [F]
qbmove simulinkqbAPIqbmove firmware
qbadminqbmove advanced firmware
hand firmware micro

E.g. xT is the x number of the Tools whereas yF is the y number of the Firmware version.

  • Every change in the number z means a change in the respective repo which not implies changes in other repos.
  • Every change in the number y in a repo is backward compatible reading the table from right to left. This means that if you have some new feature in a Firmware, you can still use old Libraries and Tools for management, but of course you will not be able to use the new features. In this case the rule is yF >= yL >= yT.
  • Every change in the number x means a change which is not backward compatible, hence you will need to update everything to use it. In this case the rule is xF = xL = xT.

Summarising

  • z independent
  • yF >= yL >= yT
  • xF = xL = xT

E.g.

ToolsLibrariesFirmwareCompatible
qbadmin v4.2.3qbAPI v4.5.0qbmove firmware v4.6.7YES
qbadmin v3.2.3qbAPI v4.5.0qbmove firmware v4.6.7NO
qbadmin v4.2.3qbAPI v4.5.7qbmove firmware v4.5.0YES

What is this?

These are the C/C++ libraries to interact with qbMove and qbHand

If you want to use these libraries with qbadmin software, be sure to organize your folder as follows:

  • your_workingcopy
    • qbAPI
    • qbadmin

Installation requirements

The simplest way to compile these libraries is by using the command line utility make. To do so, you will need also the gcc/g++ compiler installed on your system.

NOTE: if it is the first time you use qbrobotics devices on your computer, it is possible that you need to download the drivers to let your computer see the port correctly. To do that visit FTDI driver webpage -> VCP drivers and download the proper driver depending on your OS

Unix

You should have both gcc/g++ and make installed.

MacOSX

Download XCode from Mac App Store, this will install gcc/g++ and make utility.

Windows

Download MinGW and install it. Open MinGW Installation Manager, from the left panel select basic setup, then from the right panel select mingw32-base and mingw32-gcc-g++, then click on Installation -> Apply Changes. This will install the gcc/g++ compiler. To use it from the command line you need to provide to windows the binary path to the executable. Go to System Properties and click on Environment Variables. In the System Variable windows, look for path, select it and click edit. Go to the end of the Variable Value field, add a ; separator and add the path to the binary folder for gcc (usually it is in C:\MinGW\bin).

Download the make utility from here. Follow the installation instruction. In the end you will need to add the binary path to the Environment Variables. To do that follow the previous steps. (Usually the binary folder for the make utility is in C:\Program Files (x86)\GnuWin32\bin).

NOTE: if you have the CMD already opened when performing the installation, you probably will need to reopen a new one to be able to use the utilities.

Compile the libraries

Open the Terminal (UNIX and MacOSX) or the CMD (Windows), reach the /src folder and type make. Depending on your OS you should see a folder tree like this:

  • qbAPI
    • lib_win
      • libqbmove_comm.a
    • objs_win
    • src
    • license.txt
    • README.txt

or this:

  • qbAPI
    • lib_unix
      • libqbmove_comm.a
    • objs_unix
    • src
    • license.txt
    • README.txt

The generated libqbmove_comm.a is a static library and can be used in your own application. It is also used by qbadmin.

About

libraries for NMMI devices

Resources

Stars

7 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

IMPORTANT: Versioning:

Each of the repositories in the following table has a version number composed of 3 numbers in the form: v x.y.z

Tools [T]Libraries [L]Firmware [F]
qbmove simulinkqbAPIqbmove firmware
qbadminqbmove advanced firmware
hand firmware micro

E.g. xT is the x number of the Tools whereas yF is the y number of the Firmware version.

  • Every change in the number z means a change in the respective repo which not implies changes in other repos.
  • Every change in the number y in a repo is backward compatible reading the table from right to left. This means that if you have some new feature in a Firmware, you can still use old Libraries and Tools for management, but of course you will not be able to use the new features. In this case the rule is yF >= yL >= yT.
  • Every change in the number x means a change which is not backward compatible, hence you will need to update everything to use it. In this case the rule is xF = xL = xT.

Summarising

  • z independent
  • yF >= yL >= yT
  • xF = xL = xT

E.g.

ToolsLibrariesFirmwareCompatible
qbadmin v4.2.3qbAPI v4.5.0qbmove firmware v4.6.7YES
qbadmin v3.2.3qbAPI v4.5.0qbmove firmware v4.6.7NO
qbadmin v4.2.3qbAPI v4.5.7qbmove firmware v4.5.0YES

What is this?

These are the C/C++ libraries to interact with qbMove and qbHand

If you want to use these libraries with qbadmin software, be sure to organize your folder as follows:

  • your_workingcopy
    • qbAPI
    • qbadmin

Installation requirements

The simplest way to compile these libraries is by using the command line utility make. To do so, you will need also the gcc/g++ compiler installed on your system.

NOTE: if it is the first time you use qbrobotics devices on your computer, it is possible that you need to download the drivers to let your computer see the port correctly. To do that visit FTDI driver webpage -> VCP drivers and download the proper driver depending on your OS

Unix

You should have both gcc/g++ and make installed.

MacOSX

Download XCode from Mac App Store, this will install gcc/g++ and make utility.

Windows

Download MinGW and install it. Open MinGW Installation Manager, from the left panel select basic setup, then from the right panel select mingw32-base and mingw32-gcc-g++, then click on Installation -> Apply Changes. This will install the gcc/g++ compiler. To use it from the command line you need to provide to windows the binary path to the executable. Go to System Properties and click on Environment Variables. In the System Variable windows, look for path, select it and click edit. Go to the end of the Variable Value field, add a ; separator and add the path to the binary folder for gcc (usually it is in C:\MinGW\bin).

Download the make utility from here. Follow the installation instruction. In the end you will need to add the binary path to the Environment Variables. To do that follow the previous steps. (Usually the binary folder for the make utility is in C:\Program Files (x86)\GnuWin32\bin).

NOTE: if you have the CMD already opened when performing the installation, you probably will need to reopen a new one to be able to use the utilities.

Compile the libraries

Open the Terminal (UNIX and MacOSX) or the CMD (Windows), reach the /src folder and type make. Depending on your OS you should see a folder tree like this:

  • qbAPI
    • lib_win
      • libqbmove_comm.a
    • objs_win
    • src
    • license.txt
    • README.txt

or this:

  • qbAPI
    • lib_unix
      • libqbmove_comm.a
    • objs_unix
    • src
    • license.txt
    • README.txt

The generated libqbmove_comm.a is a static library and can be used in your own application. It is also used by qbadmin.

About

libraries for NMMI devices

Resources

Stars

7 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

IMPORTANT: Versioning:

Each of the repositories in the following table has a version number composed of 3 numbers in the form: v x.y.z

Tools [T]Libraries [L]Firmware [F]
qbmove simulinkqbAPIqbmove firmware
qbadminqbmove advanced firmware
hand firmware micro

E.g. xT is the x number of the Tools whereas yF is the y number of the Firmware version.

  • Every change in the number z means a change in the respective repo which not implies changes in other repos.
  • Every change in the number y in a repo is backward compatible reading the table from right to left. This means that if you have some new feature in a Firmware, you can still use old Libraries and Tools for management, but of course you will not be able to use the new features. In this case the rule is yF >= yL >= yT.
  • Every change in the number x means a change which is not backward compatible, hence you will need to update everything to use it. In this case the rule is xF = xL = xT.

Summarising

  • z independent
  • yF >= yL >= yT
  • xF = xL = xT

E.g.

ToolsLibrariesFirmwareCompatible
qbadmin v4.2.3qbAPI v4.5.0qbmove firmware v4.6.7YES
qbadmin v3.2.3qbAPI v4.5.0qbmove firmware v4.6.7NO
qbadmin v4.2.3qbAPI v4.5.7qbmove firmware v4.5.0YES

What is this?

These are the C/C++ libraries to interact with qbMove and qbHand

If you want to use these libraries with qbadmin software, be sure to organize your folder as follows:

  • your_workingcopy
    • qbAPI
    • qbadmin

Installation requirements

The simplest way to compile these libraries is by using the command line utility make. To do so, you will need also the gcc/g++ compiler installed on your system.

NOTE: if it is the first time you use qbrobotics devices on your computer, it is possible that you need to download the drivers to let your computer see the port correctly. To do that visit FTDI driver webpage -> VCP drivers and download the proper driver depending on your OS

Unix

You should have both gcc/g++ and make installed.

MacOSX

Download XCode from Mac App Store, this will install gcc/g++ and make utility.

Windows

Download MinGW and install it. Open MinGW Installation Manager, from the left panel select basic setup, then from the right panel select mingw32-base and mingw32-gcc-g++, then click on Installation -> Apply Changes. This will install the gcc/g++ compiler. To use it from the command line you need to provide to windows the binary path to the executable. Go to System Properties and click on Environment Variables. In the System Variable windows, look for path, select it and click edit. Go to the end of the Variable Value field, add a ; separator and add the path to the binary folder for gcc (usually it is in C:\MinGW\bin).

Download the make utility from here. Follow the installation instruction. In the end you will need to add the binary path to the Environment Variables. To do that follow the previous steps. (Usually the binary folder for the make utility is in C:\Program Files (x86)\GnuWin32\bin).

NOTE: if you have the CMD already opened when performing the installation, you probably will need to reopen a new one to be able to use the utilities.

Compile the libraries

Open the Terminal (UNIX and MacOSX) or the CMD (Windows), reach the /src folder and type make. Depending on your OS you should see a folder tree like this:

  • qbAPI
    • lib_win
      • libqbmove_comm.a
    • objs_win
    • src
    • license.txt
    • README.txt

or this:

  • qbAPI
    • lib_unix
      • libqbmove_comm.a
    • objs_unix
    • src
    • license.txt
    • README.txt

The generated libqbmove_comm.a is a static library and can be used in your own application. It is also used by qbadmin.

About

libraries for NMMI devices

Resources

Stars

7 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages