9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Thaddeus Woskowiak <tswoskowiak@gmail.com>
To: 9fans <9fans@9fans.net>
Subject: Re: [9fans] building blocks speaking 9p
Date: Thu, 27 Jan 2022 21:55:00 -0500	[thread overview]
Message-ID: <CAG3JMtaVcx8R0ON9_V-XS2ksaPQXkf1zZ6i0kpbD_CfBV8EiCw@mail.gmail.com> (raw)
In-Reply-To: <E4F13D45-9C44-487A-904D-31881DA01DF0@iitbombay.org>

[-- Attachment #1: Type: text/plain, Size: 3289 bytes --]

I've been saying the same thing for years. 9p makes for a great control
protocol that presents a simple way to present data, a tree of files.

Charles Forsyth wrote an Atmega compiler for plan 9. That could be used as
the basis for a plan 9 Arduino thing. We likely need a mulibc.h or whatever
and a loader to send the binary to the Arduino micro controller. Someone
patched 9front usbserial to recognize Arduino USB boards as usbeia devices.
(I think Miller's pi and labs does too?). Out of the box microcontroller
support with 9p libs would be a really nice thing to have.

Echoline wrote ninepea, an Arduino 9p library. This currently works and can
be mounted on a plan 9 machine and you can talk to your Arduino though
files. Though this uses the official Arduino library and compiler which
does not work on plan 9 (on 9front you can use vmx to run a Linux vm)

One compiler that we really need is an arm thumb 2 compiler for cortex-m/r
microcontrollers. Inferno has a very old and very incomplete arm thumb 1
compiler, tc. I don't know if it's worth salvaging.

Personally, I'm (sloooowly)working on using Plan 9 for personal industrial
automation projects. I have some crude modbus stuff working.

At work I've used it on a RasPi to tie a PLC to an HDMI heads up display
that uses ASCII commands. Dumb easy to write a C  program for that on Plan
9.


On Thu, Jan 27, 2022, 5:58 PM Bakul Shah <bakul@iitbombay.org> wrote:

> The idea:
> - make it very easy to create hardware gadgets by
>   providing a firmware/hardware building block that
>   talks 9p on the host interface side & interfaces
>   with device specific hardware.
> 
> - use a "universal" 9p driver on the host side that
>   allows access to any such 9p device even from a shell.
> 
> - provide a standard way to find out device capabilities.
> 
> - together they provide a plug-and-play setup.
> 
> Example: connect an LED and a current sensor to this
> 9p device, other necessary hardware, add a few config
> bits and plug this device kn]]into a host. Now you should
> be able to turn on/off the light or sense its state.
> 
> Similarly you should be able to control a stepper motor
> servo, cameras, microphones, other actuators, sensors,
> IO etc. Eventually you should be able to snap together
> enough of these components to build larger assemblies
> such as a 3D printer.
> 
> Another example: a "hub" to multiplex such downstream
> devices and make them available to a host.
> 
> This will probably have to ride on USB first. A verilog
> implementation would be useful in an FPGA!
> 
> Would this be a useful component? If such a thing were
> available, what would you want to build with it?
> 
> Do you think 9p is the right protocol for this?
> 
> Ideally
> - connect anything to anything
> - authenticated connections
> - drive the device through a shell script
> - no new low level drivers
> - self-identifying devices with help and command syntax
> - signicantly eases the task of creating new h/w devices.

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/Ta4e584a373b05553-Md8f444a123a5bc9a248fbb72
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 5073 bytes --]

  reply	other threads:[~2022-01-28  2:55 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-27 22:57 Bakul Shah
2022-01-28  2:55 ` Thaddeus Woskowiak [this message]
2022-01-28  3:31 ` Lucio De Re
2022-01-28  5:16   ` Bakul Shah
2022-01-28 10:16     ` Lucio De Re
2022-01-28 19:01       ` Charles Forsyth
2022-01-28 21:26         ` Bakul Shah
2022-01-28 21:37           ` Eli Cohen
2022-01-28 20:54       ` Tony Mendoza
2022-01-28 20:59       ` Tony Mendoza
2022-01-28 21:03         ` ori
2022-01-28 21:07           ` Tony Mendoza
2022-01-28 21:06         ` Eli Cohen
2022-01-28 21:16           ` Tony Mendoza
2022-01-28 21:27             ` Eli Cohen
2022-01-28 21:33               ` david
2022-01-28 21:46                 ` Tony Mendoza
2022-01-28 22:23                   ` David Boddie
2022-01-29  1:04                 ` Lyndon Nerenberg (VE7TFX/VE6BBM)
2022-01-29  2:08                   ` David Boddie
2022-01-29  3:36                     ` Tony Mendoza
2022-01-29 18:03                     ` David Boddie
2022-01-29  2:32           ` Thaddeus Woskowiak
2022-01-29 20:04             ` [9fans] aiju boards Lyndon Nerenberg (VE7TFX/VE6BBM)
2022-01-28 19:32   ` [9fans] building blocks speaking 9p Kent R. Spillner
2022-01-28  4:54 ` ori
2022-01-28 20:55 ` Lyndon Nerenberg (VE7TFX/VE6BBM)
2022-01-29  9:16 ` Skip Tavakkolian
2022-01-29 11:56   ` Frank D. Engel, Jr.
2022-01-29 12:14     ` Frank D. Engel, Jr.
2022-01-29 12:30       ` Frank D. Engel, Jr.
2022-01-29 13:24         ` cinap_lenrek
2022-02-15  3:07 ` Lyndon Nerenberg (VE7TFX/VE6BBM)
2022-01-29 20:53 Lyndon Nerenberg (VE7TFX/VE6BBM)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAG3JMtaVcx8R0ON9_V-XS2ksaPQXkf1zZ6i0kpbD_CfBV8EiCw@mail.gmail.com \
    --to=tswoskowiak@gmail.com \
    --cc=9fans@9fans.net \
    --subject='Re: [9fans] building blocks speaking 9p' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).