Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bus-user

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bus-user

work with equipment over buses like Serial/i2c/... as client and server

  • 0.4.16
  • Source
  • PyPI
  • Socket score

Maintainers
1

Ver/TestedPython Ver/Os
repo/Created Commit/Last Tests/GitHubWorkflowStatus Tests/GitHubWorkflowStatus
repo/Size Commit/Count/t Commit/Count/y Commit/Count/m

bus_user (current v0.4.16/Ver/Pypi Latest)

DESCRIPTION_SHORT

work with equipment over buses like Serial/i2c/... as client and server

DESCRIPTION_LONG

NOTE: IT SEEMS THIS IS OLD DATA! see tests for actual usage!

!. MOST APPROPRIATE COMMAND PROTOCOL other protocols mot recommended

  1. all cmds must be as params (preferred) in equipment or as special command
  2. [<CMD_NAME>] - read param value or run special command
    [IDN] - read value IDN
    [DUMP] - run special command
  3. [<CMD_NAME> ] - write value in parameter or run special cmd with param
    [VOUT 12.3] - set value into parameter VOUT
  4. [<CMD_NAME> ?] - get available values to write into parameter
    [MODE ?] - return [0 1 2 3]
  5. all command sent must return answer
    [OK] - if no value was asked [] - if asked some value, returned without measurement unit [FAIL] - any common not specified error [FAIL 0123] - any specified error without description [FAIL 02 VALUE OUT OF RANGE] - any specified error with description (full variant)

Features

  1. [SerialClient]:
    • keep all found ports in base class!
  2. Serial:
    • Client+Server
    • connect with Type__AddressAutoAcceptVariant FIRST_FREE/FIRST_FREE__ANSWER_VALID
    • set/get params by SlashOrSpacePath addressing
    • handle BackSpace send manually from terminal
  3. SerialServer values:
    • as Callable
    • ValueUnit
    • ValueVariants
    • list_results
  4. SerialServer cmd:
    • NONE is equivalent for SUCCESS
    • no need params (like line_parsed as before)
    • help - for show all variants (Units/Variants/Callables)!

License

See the LICENSE file for license rights and limitations (MIT).

Release history

See the HISTORY.md file for release history.

Installation

pip install bus-user

Import

from bus_user import *

USAGE EXAMPLES

See tests, sourcecode and docstrings for other examples.


1. example1.py

# NOTICE:
# 1. If bus cmd return several lines (DUMP for example) - you will get all of them in list! 
# 2. All answers you will get as string and you must parse it by youself!  
# errors will be get within it.


from bus_user import *

# SHOW (optional) COMMANDS EXPLICITLY by annotations without values!
# ------------------------------------------------------------------
class MySerialDevice(SerialClient):
    IDN: Callable[[Any], TYPE__RW_ANSWER]
    ADDR: Callable[[Any], TYPE__RW_ANSWER]
    DUMP: Callable[[Any], TYPE__RW_ANSWER]

# USE in code
# -----------
dev = MySerialDevice()
if dev.connect():
    answer1 = dev.IDN()   # return answer for sent string in port "IDN"
    answer2 = dev.VIN()   # return answer for sent string in port "VIN"
    answer3 = dev.VIN(12)   # return answer for sent string in port "VIN 12"
    answer4 = dev.VIN("12")   # return answer for sent string in port "VIN 12"

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc