From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 16157 invoked from network); 28 Jan 2022 02:55:25 -0000 Received: from tb-ob0.topicbox.com (64.147.108.117) by inbox.vuxu.org with ESMTPUTF8; 28 Jan 2022 02:55:25 -0000 Received: from tb-mx0.topicbox.com (tb-mx0.nyi.icgroup.com [10.90.30.73]) by tb-ob0.topicbox.com (Postfix) with ESMTP id 27191304A0 for ; Thu, 27 Jan 2022 21:55:24 -0500 (EST) (envelope-from bounce.mMd8f444a123a5bc9a248fbb72.r522be890-2105-11eb-b15e-8d699134e1fa@9fans.bounce.topicbox.com) Received: by tb-mx0.topicbox.com (Postfix, from userid 1132) id 1AF3D13C8EA5; Thu, 27 Jan 2022 21:55:24 -0500 (EST) ARC-Authentication-Results: i=2; topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=X9VVzqUY header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=tswoskowiak@gmail.com smtp.helo=mail-yb1-f176.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type:list-help:list-id:list-post :list-subscribe:reply-to:content-transfer-encoding :list-unsubscribe; s=sysmsg-1; t=1643338523; bh=F4G2Kf8GwXWBEhon UAnYnXKTjHbhHMlrcb8sgsz7PCE=; b=fDx4nsSpgumQeBeUgm03bdnQDFAvXYMq sH3oFhdecrD0UuTyUNwx01c277R0tjMNZi814ggUOmMte/6EgmDo2ctRanTtmf0p 11mV1nCYH7AjYEPevoa0RzEJs3hUWUvkmjYYynHnZhO+oi9623xYKRiA5i4MR0bv 4r2MAs0cMrs= ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=topicbox.com; s=sysmsg-1; t= 1643338523; b=p6psuPoA7DqvRjaBGFI5xGu77MfSUXrkWag7jPr2KuiFYvdA3e r4gbYqUMDALmZXflJVPjd/OFZKikR57m99YTdYCoBZpiabxYDIt7H/ASq6b6CHfw PodbIU8t8J7Z/dVZM1wvL061BlkBfs9QsP0dBzRx7oSOeJUneO36jUKF0= Authentication-Results: topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=X9VVzqUY header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=tswoskowiak@gmail.com smtp.helo=mail-yb1-f176.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) X-Received-Authentication-Results: tb-mx0.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=X9VVzqUY header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.219.176 (mail-yb1-f176.google.com); spf=pass smtp.mailfrom=tswoskowiak@gmail.com smtp.helo=mail-yb1-f176.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=C/M8TgeZ; x-me-sender=none; x-ptr=pass smtp.helo=mail-yb1-f176.google.com policy.ptr=mail-yb1-f176.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=9fans.net; h= mime-version:references:in-reply-to:from:date:message-id:subject :to:content-type:list-help:list-id:list-post:list-subscribe :reply-to:content-transfer-encoding:list-unsubscribe; s=dkim-1; bh=yrkCXbudMZUSOcZJXn577Nz/p+640P3D/c4/dr7mXG4=; b=R0FAXeTh83Iu FfGeMORi7ezXHlh39ovbVd+a8je8jBYynI+VkjKvriX9y50aymwXWPKekVgx9HoT y6ymQ0pasUz+W0lcx7SxwHPiUTC/nUtNjnttoBBhRfALOFm/bDmNqExXO8oNELcX 2Jn5qW6j8uZ3g40nLevyO0OjJh5kND8= Received: from tb-mx0.topicbox.com (localhost.local [127.0.0.1]) by tb-mx0.topicbox.com (Postfix) with ESMTP id 12E2C13C8AA5 for <9fans@9fans.net>; Thu, 27 Jan 2022 21:55:13 -0500 (EST) (envelope-from tswoskowiak@gmail.com) Received: from tb-mx0.topicbox.com (localhost [127.0.0.1]) by tb-mx0.topicbox.com (Authentication Milter) with ESMTP id 60A0E0D99D0; Thu, 27 Jan 2022 21:55:13 -0500 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1643338513; b=KM8bwkV9zAe5CkNuIV/RjcIzaeKSeor7SnwO8AIZcmEES9s9lz bTU3rPlYyO7TKdcN4hJL6+Qd7oe+u0oZabLW67VAdmaDIOfr/Q6ynAwFgC0aAMGU h6GrsmOGIbr3nqZrQQcZQuJrFP4Tg7Wpl2DLOacKPnz1QEv5WxiXJ9V9wZ1UqgAL 7yaAtRD3Suq/weWq2xxX2EKpdnPrwLXJzLYn8E8eWSVqrtv1tqGQCJPl1oXoH//z UN4xEB8pRjK3EB6nTThP+hsCE2kD773w0kJsExQ2OVq+QBDK876xgpexq6bnnrJy 1FDl8xyfqz/Nl7QTkcQQwfUcGzKxEM62P5QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type; s=arcseal; t=1643338513; bh=Sl1GBUHxSKit3D6B9t93Js6T21biUHQReXx4Y8yfnZo=; b=OHgdoRIRBzmL 4uvxgxcShynsMHKd51AAQbHH2Ikf6bHEUt1Yqb9Y85K4mswX1fRrn+ml5qHyuLU4 L+kQsOzD0RltJtWbFHJ96hlWxfUzCcVasli2Lo8EIIqFgVmr3H4SWVO/Pz8vODka 4P84pWbGqAsJ2NA334aGWutIcUUkErzo3zPJFLGsJHdcwLcM7UuNzOS6sEjF7Gfo h1kNE+/KPL/KjFULekq79qDLi90YSIqYC6tzB8qhcjc0uPwHztZ8ojpwi7ZIcA00 hBO6UlW64KCTOm370cMxoR5kDzsR2CqvWozPMcQmfTsrAQHsTg+UR8N4DJHzxiIe X/snC9lgNQ== ARC-Authentication-Results: i=1; tb-mx0.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC Policy is not at enforcement); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=X9VVzqUY header.a=rsa-sha256 header.s=20210112 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.219.176 (mail-yb1-f176.google.com); spf=pass smtp.mailfrom=tswoskowiak@gmail.com smtp.helo=mail-yb1-f176.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=C/M8TgeZ; x-me-sender=none; x-ptr=pass smtp.helo=mail-yb1-f176.google.com policy.ptr=mail-yb1-f176.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgedvvddrfeefgddugeehucdltddurdegudehrddttd dmucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgf nhhsuhgsshgtrhhisggvpdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttd enucenucfjughrpeggfhgjhfffkffuvfgtsegrtderredttdejnecuhfhrohhmpefvhhgr ugguvghushcuhghoshhkohifihgrkhcuoehtshifohhskhhofihirghksehgmhgrihhlrd gtohhmqeenucggtffrrghtthgvrhhnpeehudfgledtgfefueetieekhefgtdejheehkefg tdeihfekgfelhfetgfffvdeujeenucffohhmrghinhepthhophhitggsohigrdgtohhmne cukfhppedvtdelrdekhedrvdduledrudejieenucevlhhushhtvghrufhiiigvpedtnecu rfgrrhgrmhepihhnvghtpedvtdelrdekhedrvdduledrudejiedphhgvlhhopehmrghilh dqhigsuddqfhdujeeirdhgohhoghhlvgdrtghomhdpmhgrihhlfhhrohhmpeeothhsfiho shhkohifihgrkhesghhmrghilhdrtghomheq X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (gmail.com ... _spf.google.com: Sender is authorized to use 'tswoskowiak@gmail.com' in 'mfrom' identity (mechanism 'include:_netblocks.google.com' matched)) receiver=tb-mx0.topicbox.com; identity=mailfrom; envelope-from="tswoskowiak@gmail.com"; helo=mail-yb1-f176.google.com; client-ip=209.85.219.176 Received: from mail-yb1-f176.google.com (mail-yb1-f176.google.com [209.85.219.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx0.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Thu, 27 Jan 2022 21:55:12 -0500 (EST) (envelope-from tswoskowiak@gmail.com) Received: by mail-yb1-f176.google.com with SMTP id g14so14444247ybs.8 for <9fans@9fans.net>; Thu, 27 Jan 2022 18:55:12 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=Sl1GBUHxSKit3D6B9t93Js6T21biUHQReXx4Y8yfnZo=; b=C/M8TgeZ1v+Ec6tg7I3kXJrBITHcqlNyHBJ80lUK0SHXd1IyAuiK2YGevq3F7tQQhL gBVWEUj+BDNDnj05EJW6enG6HUp1i+ccKrRood7lfH1s6qlz09eOwM5H522nIHcG89C+ Lhj8cKif+Fp5u6HyncwXlRVgfdXVSL/YWkmnYcebtmdTGhPkLdlIo5JLhckupMI0nmdU FLC9gDgsamns3VOZKBDqj2O57E0GribOKHALA3zhqWIcpqyV8Wcdr2nWYwCMmwsaPsGp h7Kq45G4zwlOkkh/KjQoM6XitqZsTC4yxRLtolzyUjKHXhnhFVKBXJB1niXiu0TeZCdP 9OgQ== X-Gm-Message-State: AOAM531qKtyExQ9Tb/1u9495KPyBIvhLRq2QiNTordv7vcsscHib2qzB pY/6cPHnQjzoS4Ws6Lz+VOBycdChM1Nc/DbT3602wD2KFT0= X-Google-Smtp-Source: ABdhPJzNSn88HUBX5GAjKcRvoLa6ZZqGNM5WRyLMhi7jkzSm6hi1AHo1e3ZGDZodyK9YEb73rYAmHmHKr6mPhoeadL0= X-Received: by 2002:a25:40d3:: with SMTP id n202mr9710518yba.543.1643338511633; Thu, 27 Jan 2022 18:55:11 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Thaddeus Woskowiak Date: Thu, 27 Jan 2022 21:55:00 -0500 Message-ID: Subject: Re: [9fans] building blocks speaking 9p To: 9fans <9fans@9fans.net> Content-Type: multipart/alternative; boundary=0000000000003b4f6b05d69b9073 Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: b95365c6-7fe5-11ec-81fe-c94ad4167f2e Archived-At: =?UTF-8?B?PGh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85?= =?UTF-8?B?ZmFucy9UYTRlNTg0YTM3M2IwNTU1My1NZDhmNDQ0YTEyM2E1YmM5YTI0OGZi?= =?UTF-8?B?YjcyPg==?= List-Help: List-Id: "9fans" <9fans.9fans.net> List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: 9fans <9fans@9fans.net> Content-Transfer-Encoding: 7bit List-Unsubscribe: , Topicbox-Delivery-ID: 2:9fans:437d30aa-c441-11e9-8a57-d036212d11b0:522be890-2105-11eb-b15e-8d699134e1fa:Md8f444a123a5bc9a248fbb72:1:u3zVxT5pAt-rIaD3dY1C8PoCVLT2D_vgc0qKLywuXQU --0000000000003b4f6b05d69b9073 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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 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. >=20 > - use a "universal" 9p driver on the host side that > allows access to any such 9p device even from a shell. >=20 > - provide a standard way to find out device capabilities. >=20 > - together they provide a plug-and-play setup. >=20 > 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. >=20 > 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. >=20 > Another example: a "hub" to multiplex such downstream > devices and make them available to a host. >=20 > This will probably have to ride on USB first. A verilog > implementation would be useful in an FPGA! >=20 > Would this be a useful component? If such a thing were > available, what would you want to build with it? >=20 > Do you think 9p is the right protocol for this? >=20 > 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-Md8f44= 4a123a5bc9a248fbb72 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription --0000000000003b4f6b05d69b9073 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I've been saying the same thing for years= . 9p makes for a great control protocol that presents a simple way to prese= nt data, a tree of files.

Ch= arles Forsyth wrote an Atmega compiler for plan 9. That could be used as th= e basis for a plan 9 Arduino thing. We likely need a mulibc.h or whatever a= nd a loader to send the binary to the Arduino micro controller. Someone pat= ched 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 yo= u can talk to your Arduino though files. Though this uses the official Ardu= ino library and compiler which does not work on plan 9 (on 9front you can u= se 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)work= ing on using Plan 9 for personal industrial automation projects. I have som= e 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, 20= 22, 5:58 PM Bakul Shah <bakul@iitbombay.org&g= t; 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/9fa= ns/Ta4e584a373b05553-M35165d4278d95e41fd95b8f7
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
= --0000000000003b4f6b05d69b9073--