#general-chat

1 messages ยท Page 52 of 1

rapid geode
#

๐Ÿ˜›

glad ruin
#

Since like the 1910s.

rapid geode
#

in fiarness they have gone beyond bike use as well. but even still, they are tested as a total package for their purpose. Many e bikes are just motors slapped on a cheap bike. Not all, and they are getting better, but many of the low cost ones are really bad.

south light
#

So these ones shimanos are failing on

#

have shimanos mid drive motor, which requires a purpose built frame

#

And usually has a frame integrated battery too

#

But doesnt mean they put decent brakes or anything on em

#

the motors and such are cheap. my full conversion was about ยฃ500

#

of course shimanos arent made in some chinese factory etc so probably a bit more than that. But basically by the time you buy one of their e-step equipped bikes, you're on for a 2-3k price tag, where you'd have hoped their gearbox holds up

#

the alfine 8 IGH's do handle mid drive motor abuse, but the guts of an estep arent the guts of an alfine

rapid geode
#

i only know about the ep8 drive motor. the higher end one for mountain bikes.

#

mostly i know it is expensive

#

ha

south light
#

All of their motors are shared architecture

#

and theyre fine. But overpriced

#

I would like to ride a bike with pinions new mid drive setup, but like the shimano motor wont be available on the aftermarket and likely wont be cheap either

rapid geode
#

this is a real problem. electronics stuff is commodity, and cheap. But bike stuff goes through a distribution chain with comically large markups. so you get absurd prices

south light
#

the new pinion motor in a bike, cropped heavily

#

12 speed gearbox + motor in 1 package

rapid geode
#

yeah. but a lot of lost efficience. whihc matters less with an ebike, but still there

#

i like the idea though

#

honda has one thats basically a chain derailleur device crammed into a box. bridges the gap

#

but its never been for sale

south light
#

as it is right now, theres a few conversion ebike motors on the aftermarket that hang off the bottom bracket like the BBSHD and the TSDZ2, those are fine, the latter is what I am using. Bafang sell the matching mount for their frame integrated motors so if you are into fabbing your own frame or willing to cut out the bottom bracket of an existing frame and weld their new bracket in you can do so

#

But the shimano, Bosch, yamaha and pinions (also applicable to their old gearbox). OEM only

#

Pinion will sell you spares for their existing gearbox. They wont sell you mounting brackets or complete units

rapid geode
#

yeah they need to be part of the frame. but they wont standardise on a single mouinting design

#

bothersome

south light
#

Or ya know, make spares available at all

#

Standardisation would be great

#

But also a good first start would be hey, let me buy the motor

#

Unfortunately part of the reason they don't is firmware tie in between so many elements as well, whereas the bafang, Tongsheng and CYC conversions (and others) are all hook up a battery, short an activation wire, go

late fulcrum
#

24V would lose efficiency compared to what? Also, I don't much care about efficiency.

south light
#

Shimano Motor? Nah, must validate it's battery, and it is DRMed, swap the battery with another matching Shimano battery and it rejects it: contact your dealer

#

Bosch, their system is canbus based which seems great for piggybacking aftermarket electronics onto, but it does actively listen to messages with unknown IDs and shuts down

late fulcrum
#

I have no patience with that kind of nonsense

south light
#

Me neither

#

And funnily enough, both nuvinci and rohloff electronic shifting versions of their gearhubs, for matching Bosch firmwares only

late fulcrum
#

I'm giving my battery vendor the side eye because they want to reflash the charger to match the battery

rapid geode
#

shimano di2 is a can bus as well. which is fine, but it needs to be open for talking to accessories

#

mine may adopt a can bus eventually too, but it has to be open

south light
#

One day, and it is far far in future as I don't have the requisite workshop space, tools or knowledge to use them I'd quite like to make my own electric mini-velo frame. Right now bafangs motor at least isn't DRM nonsense and they'll sell you the frame integral motors standalone, I hope by then, others join the fold

rapid geode
#

most of shimanos stuff is in the name of safety a* covering. which i accept to a degree

south light
#

All it needs are a few UART frames of config data and an enable line shorting to batt+ and off it goes. Those UART frames are documented and basically just set the assist level and info about wheel size for the speed sensor etc.

#

Likewise it sends frames back with current speed and some other info

#

My Tongsheng is the same, and has also had an open source firmware developed for it too

rapid geode
#

im not at that part yet, talking to other devices. right now 2 remote buttons, and the "dumb" battery.

south light
#

But you're also feather based, so nothing firmware modding in future couldn't accomplish

rapid geode
#

see, my friend saw the feather in my design and immediately said "i can make you one with those features way smaller" and i was like, "nope, then it is custom and id have to make and supply them"

south light
#

Eh, there's an argument both ways to that one I feel

#

Besides

#

There's always v2 or v3 etc

#

I see no problem with a feather

rapid geode
#

yeah, after the big black box version just works, we can go about making a more refined, light weight version

#

feather has everything, and many versions. thats one reason i liek it

#

get the feather sense, and suddenly you have 1000 more features

south light
#

Yyyyyyupp

rapid geode
#

only hitch is i need to add a 5v boost for the servo power

#

but thats tiny

south light
#

Tbf

#

A lot of servos will run fine down to 3v

rapid geode
#

most get too slow and weak

south light
#

Might be worth a test though

rapid geode
#

but, we'll see. if standardised on this $5 amazon servo for now.

south light
#

Like, plan around having it, but also test without it

#

Leaves no worst case scenario, either the prototype ends up with some empty space where the non needed boost converter was, or you fit the booster you planned on. Win win really

rapid geode
#

yeah

rapid geode
#

almost ready, just needs a few mounting holes and the top and bottom covers. the bottom cover holds the feather itself.

#

setting buttons will be in the upper cover.

sick apex
#

can a device act as an I2C slave and master at the same time

#

because for my cluster of boards i want to have the master control the slaves

#

but i want the slaves to have a direct line to the master that will print out a serial output of whatever is sent down it

#

it will be easier to explain as a picture

#

wait idk how to explain

#

just, can a master be a slave at the same time

#

over i2c

#

im still trying to figure this out, can someone link me to some good docs for I2C

#

please

fair summit
late fulcrum
late fulcrum
#

I tend to go with "host" and "target" but similar thinking

sick apex
#

fair

#

so how can i connect multiple ESP32s in a host-target configuration

#

i know how to read as the host

#

and find addresses

#

but how do i setup the target

#

the target would be another esp32

late fulcrum
#

The targets treat the clock signal as an input, and initially receive data on the data lead, checking to see if they're being addressed, and whether the command is read or write (one of the address bits)

sick apex
#

okay

#

thank you

#

wait should i use SPI or I2C for the fastest transfer between boards

late fulcrum
#

SPI is generally faster, especially if you can use hardware SPI

sick apex
#

im doing something kinda unconventional where im trying to make an array of esp32s

late fulcrum
#

The signalling is simpler too, the signals don't change direction and you don't have to do any decoding to determine if you're the target. However, you do need to be careful when driving the output lead

sick apex
#

what realistically i need is to be able to check which worker nodes are doing a task and which ones are free

#

i can write the software to handle that

#

im just not too familiar with the communication protocols

#

okay so i understand how to setup a target node

#

but what i need to figure out is how to dynamically assign target addresses

#

so i dont need to recompile the code or add any preprocessor things for each target i add to the array

late fulcrum
#

With SPI, there's no need. With I2C, you'd need a way to generate an address. Since an ESP32 supports TCP, it should have a hardware MAC address, you could steal a few bits from that and use them as your I2C address. Or find some other thing you can read to get different numbers for each node.

sick apex
#

with I2C can i have multiple devices connected to the same pin

late fulcrum
#

Right. SPI is also a bus, which can support multiple devices sharing the clock and data leads.

sick apex
#

oh, neat

#

so how do i know which device im sending a task to

#

or sending data to

late fulcrum
#

However, SPI still needs a way to specify which device you're talking to, this is done with a separate signal to each target, so if you have 4 targets, you'll need 4 extra GPIO signals, one for each target, to select them.

sick apex
#

ah

late fulcrum
#

This is one of the reasons some people like I2C. If you want to talk to 4 devices, you need 2 GPIOs. With SPI, to talk to 4 devices, you need 7 GPIOs (clock, data in, data out, and 4 select lines)

sick apex
#

so off the top of your head is there any way i can dynamically assign an address

late fulcrum
#

Like I said, just steal some bits from the MAC address.

sick apex
#

oh i didn't see that

#

that's genius

#

i dont need to start a wifi ap or join a network to do that, do i?

late fulcrum
#

I'm guessing there's some way to read the MAC address without having to do all that.

sick apex
#

there should be, it should be tied to the network interface

raw jasper
#

Probably not, the MAC (Media Access Control) address is an inherent property of the network adapter

#

(ninja'd by madbodger above ๐Ÿ˜… )

sick apex
#

if i took some bytes from the mac address then there would be a chance that 2 devices have the same address though

raw jasper
#

You could do the CRC of the mac address

sick apex
#

CRC?

late fulcrum
#

Another approach (with chips that have a few bytes of EEPROM) is to put the device-specific stuff in the EEPROM and then the same firmware can run on all of them. You can do something similar with flash, as long as your firmware loading procedure doesn't overwrite that part.

#

Since you effectively only have 7 bits for an I2C address, collision is going to be a possibility, yes.

sick apex
#

i swear i read that somewhere

late fulcrum
#

I don't know, I haven't done I2C lately

sick apex
#

fair

#

so if i want to send a string over I2C how would i do that

#

would i do a C string

#

or can i do a normal string

raw jasper
#

There is no such thing as a normal string

sick apex
#

yk what i mean

crystal ore
raw jasper
#

You'll need to encode your string first

#

And send the encoded bytes

sick apex
#

it would be easier to use a C string then

late fulcrum
#

You don't necessarily have to encode your string specially, but you'll have to design your I2C protocol to support sending data like that.

sick apex
#

well i'll make an enum class

#

which holds values for each data type

#

so i can tell the receive end which data type is being received

late fulcrum
#

That's a lot easier with the usual sort of register-based protocols that are popular with I2C

sick apex
#

i'll hardcode the I2C address for now, i'll change it later

late fulcrum
# raw jasper You could do the CRC of the mac address

I don't know if a CRC would change the odds of a collision. The lower 3 bytes of the MAC address are more or less random to start with, so I wouldn't expect hashing them to change the entropy distribution appreciably.

raw jasper
late fulcrum
#

A common sort of I2C protocol basically tells the target "Address X, data Y".

#

That model works quite well with emum type data

#

Or more accurately, "Target X, address Y, data Z"

#

The other direction being "Target X, read address Y"

#

You don't have to do it that way, but it's common and has good library support

sick apex
#

what if i made them check if they have an address

#

if they dont have an address they'll look for a network

#

being hosted by the master node

#

which will then assign them an address that is free

late fulcrum
#

There are a lot of ways to slice it, so ultimately each device ends up with a unique address.

sick apex
#

yeah but im thinking that way i'd be able to view all the nodes connected

#

it would make troubleshooting easier

#

then i'd also be able to view all the progress of the array without actually having to buy a screen for it

late fulcrum
#

The tricky part is assigning them addresses before they have addresses

sick apex
#

yes i know

#

so what im thinking

#

is the workers in the setup function

#

log into the masters AP

#

check an IP address

#

with a curl request

#

or whatever

#

over some json api i'll write

#

which the master will output an address

late fulcrum
#

If you're going to fire up WiFi anyway, why not just stick with that?

sick apex
#

would it be faster?

late fulcrum
#

Faster than what?

sick apex
#

I2C

late fulcrum
#

Probably. I2C goes maybe 100kbps, WiFi can often manage 10Mbps

sick apex
#

i think these network interfaces do 150mbps

late fulcrum
#

So one bit every 8 seconds?

sick apex
#

huh

#

what

#

no

late fulcrum
#

"m" is milli, "M" is mega ๐Ÿ™‚

sick apex
#

how can you get a millibyte

#

the more you know

#

i mean 150 Mbps

late fulcrum
#

NASA does it with the Voyager spacecraft. I forgot how many seconds it takes to send 1 bit, but it's more than 1.

sick apex
#

nice

#

well i mean Mbps

late fulcrum
#

I did not expect ESP32 boards to manage anything like that kind of WiFi bandwidth. I'm not saying they can't, just that seems iffy to me.

#

Similarly "b" is bits, and "B" is bytes

sick apex
#

yes

#

its 150 megabits

#

per second

#

iirc

#

its 802.11 b/g/n

late fulcrum
#

Well, if so, that's more than 1000x as fast as I2C

sick apex
#

which is like wifi 4

#

i'll use wifi then lmao

#

how do you start up an Invisible AP

late fulcrum
#

Then you get all the advantages of TCP, you can use DHCP to hand out IP addresses, send strings without even more protocol design, etc.

sick apex
#

which also means i can manage up to like

#

idfk

#

urm

#

lemme think

#

depending on the subnet

#

a lot of devices

late fulcrum
#

Yeah, you could address 16M devices even with just IPv4

sick apex
#

like 4.6 billion kekwarp

late fulcrum
#

Assuming an 8 bit network mask and 24 bit subnet mask

sick apex
#

yes

#

so alot

#

now i just need to figure out

#

how to make it run methods and functions

#

on command

#

because if i was using python i could use the magical exec function but i cannot

#

because i am not using python

late fulcrum
#

Back in the day, I did that with RPC (Remote Procedure Call), using XDR (eXternal Data Representation) to encode the arguments. But that's old school. There may well be better ways today.

sick apex
#

well first im going to have to design a web interface i think

late fulcrum
#

I wonder if Firmata/Telemetrix work over TCP. Then again, if you're talking about cURL, you can always just use REST.

sick apex
#

well you know how kubernetes works

#

right

#

im basically trying to do that

#

but on esp32s

#

because why not

late fulcrum
#

That seems like overkill to me, but it's a valid approach (if complicated)

sick apex
#

i know its complicated

#

but the way i learn

#

is by doing really confusing and complicated stuff

#

easy stuff is not interesting

#

i like a good head scratcher

#

at the start of this i didn't even know how to wire up a button

#

now im wiring multiple micro controllers together across multiple bread boards coming from the same power line using the VCC power from one board

#

connected up to the same reset button

#

so i can restart all the boards at once

#

so like its pretty interesting

#

and if i can manage to get it working across multiple esp32s then im going to see if i can throw in a raspberry pi pico w

#

to see if i can do it across platforms

#

ambitious but i think its a cool idea

#

probably been done before but still

late fulcrum
#

It's good for the brain

sick apex
#

indeed

sick apex
#

i mean kick a device off by ip

late fulcrum
#

I'm not even sure what you're asking

sick apex
#

how to disconnect a device from the AP

#

like if i go onto the web panel i wanna see all the devices and then disconnect them by clicking a button

#

more of a creature comfort than a requirement but its nice to have

dusky estuary
#

Its possible for sure

#

Since it wont be connected to the actual internet you can always just "blacklist" that ip and ignore requests from it

sick apex
#

i may aswell just send the device a request to disconnect

#

then i'll handle it

dusky estuary
#

Yeah I'm just saying idk how easy it would be to kick a device off of an esp32 network

sick apex
#

fair enough

#

i mean its gunna be a closed network that just controls all the devices

#

so i can just add a request that will be sent to the connected devices

#

which will tell them to disconnect

#

then they will disconnect

dusky estuary
#

Ah ok

sick apex
#

yes

umbral phoenix
#

the DHCP details of the ESP32 AP may be buried, not exposed, but if a device connects to the AP and does some tcp or udp operation, then a server (or client) on the AP would know its IP address at leastโ€ฆ but as you said, it may be easiest if the station disconnects itself rather than try to have the AP boot it off

raw jasper
#

I got Shenzhen I/O on the steam summer sale. So far, it seems fun

#

(Yeah, I know, I'm a few years too late, but, oh well)

rapid geode
#

lower body done. just needs upper part (will be stainless steel) and i can send it off.

patent hemlock
rapid geode
#

how many teraflops in the cpu?

#

im always amazed at how little with do with all this new computing power. New CNC software wants 4gb ram and intel core i3 minimum. My only cnc had an intel 8088 and more advanced features. Just no fluffy 3d UI

late fulcrum
#

Oh, that's way faster than I thought!

patent hemlock
#

there's more than one processor (and two of each!) on board and they're pretty beefy for the tech/time

#

lol - the command/control computers have the Guinness record for longest continual operation of a computer

#

the wikipedia article is pretty thorough

glad ruin
raw jasper
ruby wadi
#

hey guys i have problem with circuitpyrhon firware 8.x.x
i'm using espc3-32s 2mb and when i install the 8.xx version it get stuck in bootload
but the 7.3.3 version works fine

tidal flare
ruby wadi
#

thanks

dusty citrus
#

Shesh somehow always during interviews they cite web development frameworks and yadda yadda, although in my cv, is just noted html/css & cms

tranquil swallow
#

what JavaScript libraries did they expect you to know

dusty citrus
# tranquil swallow what JavaScript libraries did they expect you to know

Angular, bootstrap and who knows
Today they were explaining to me how much different is their industries about industrial Axis driven machines vs web dev
Although my resume in that aspect cites just html, css, a cms, and some web scraper done in python
Somehow they expect that I also know the yard of stuff

sick apex
#

anyone know if there is any newer technology than remote procedure call

#

before i spend hours or days implementing it then i find out that there is a better and more effective protocol

raw jasper
#

There are even production job submission systems that use REST

sick apex
#

its for a cluster of boards

#

so i dont really think i'd be able to swing that easily enough

#

it would become cumbersome

raw jasper
#

What do you want to do? Communicate between nodes?

sick apex
#

yes

raw jasper
#

Why not a simple FIFO?

sick apex
#

i dont know what that is

#

lemme google it

sick apex
tough bridge
raw jasper
#

Think of it like a queue for data. The piece of data that goes in, also goes out

patent hemlock
#

RPC is a pretty broad term and there's a BUNCH of libraries protocols (gRPC is pretty heavy for micros, though)

sick apex
#

and everything else on the other

raw jasper
sick apex
#

im doing C++

#

not python

raw jasper
#

...there's no reason you can't generalize this to any language

tough bridge
fossil dawn
patent hemlock
#

gRPC is still pretty heavy due to the protobuf serialization requirements - one of the things you could do is set up a dumb little MQTT broker and use MQTT topics to send/receive

raw jasper
#

Python examples are nice because they are so close to pseudocode it's pretty easy to see what's going on without thinking too much about language-specific features

sick apex
#

there isn't a C++ variation of python's "exec" function

#

is there

raw jasper
#

There isn't something preventing you from shipping random assembly code around and using assembly to jump to it ๐Ÿ˜…

#

Other than common sense of course

late fulcrum
sick apex
#

assembly isn't code

#

its an instruction set

raw jasper
#

o_O

sick apex
#

but good point

#

it would be easier if i was using raspberry pi picos

#

with their 8 PIO cores

#

that run ASM

raw jasper
#

I mean, yeah, I should probably have said machine code, which is the proper term of art for what comes out of the business end of an assembler, but you get my point

fossil dawn
sick apex
#

well the way i am structuring it

#

is there is master nodes

#

and slave nodes

#

the master node will host an access point

raw jasper
#

I understand that the documentation is a bit confusing, but could you please drop the master/slave terminology?

sick apex
#

during setup it will do a preprocessor IF statement to check if its a host or target, if its the target then it will search and connect to an AP with a set ssid and password

raw jasper
#

thanks!

sick apex
#

so if its the host then it will host the AP if its a target it will connect

#

that gives me about 72 - 150 Mbps connectivity between the devices

sick apex
#

i just need a good way to remotely execute compiled code

late fulcrum
#

There are lots of ways. For low level languages like C, the usual approach is just to use indices into an array of function pointers. Then when you get a call to do something, just functable[index](arguments);

glad ruin
sick apex
#

how can i avoid it

#

im trying to pass tasks to my targets from the host

late fulcrum
#

There's a disconnect there: Bon isn't trying to execute arbitrary code, just execute functions from code on a target on demand

sick apex
#

how am i supposed to do that without remotely executing code

sick apex
#

sort of how your CPU tells your GPU to render graphics

#

but differently

late fulcrum
#

Then the host says "execute function 1", the target converts 1 into an integer, and uses that as an index into a table of function pointers to run.

sick apex
#

so like an enum class

glad ruin
#

Jump table, but yeah

late fulcrum
#

You can wrap it as an enum if you like, under the hood it's all ints anyway.

sick apex
#

yeah

#

but how would i pass parameters

#

or arguments or whatever they're classed as

late fulcrum
#

That, my friend, is the can of worms. You can get fancy and use a union, or simple and just have a fixed sized array you always send.

#

Or get really fancy and use XDR/RPC which wraps all of this for you.

sick apex
#

yeah that's what i was going to do

late fulcrum
sick apex
#

that is a lot

#

of code

#

this will be a great read

#

wait, what if i with the jump table

late fulcrum
#

Yes, I think it's overkill for your use case. I'm guessing your arguments will be something simpler like zero to four integers, zero or one floating point values, and zero or one string.

sick apex
#

i make a class

#

that pairs with each one

#

so say add is paired with a class that requires 2 numbers

#

so then over the network it will know what it needs

#

so then i'd be able to pass it like

late fulcrum
#

More commonly, you'd create an interface that describes a superset of all your functions and arguments, then create a class for each function that inherits from that interface. Then just have a table of class instances you index into to run the function.

sick apex
#
{
  "func": 1,
  "args": [1, 1]
}```
#

that would be sent by the host

#

then on the target

#

it would look up 1 in the table

#

find what arguments it needs

#

checks the type of what it received

#

if it matches then go through with the call if not then flag an error and ignore it

#

so it would be like idk

late fulcrum
#

On the target, you'd have something like ```c
const static int *(*functable(int, int))[] = {
getposition,
putsteering,
gettemperature,
getpressure,
getbatteryvoltage
};

#

In C, I usually make it more readable by (ab)using typedef, but C++ and typedef sometimes do not get along well.

glad ruin
#

Is this a remote sensing network? If that's the case I would honestly recommend trying to build something that just responds to commands over HTTP.

raw jasper
#

I think they want to build a proto-distributed application

sick apex
#

its more like kubernetes for micro controllers

#

amitious i know

#

but im bored

#

and it seems interesting

raw jasper
#

I mean, as far as I'm concerned, it's a good motivation

sick apex
#

its a good way to learn

late fulcrum
#

Yes, I had suggested REST earlier (which leverages the existing HTTP protocol for command and control, giving the ability to test with web browsers and cURL), but that idea didn't seem to get any traction.

patent hemlock
sick apex
#

how do you find out what type something is

patent hemlock
#

unless RPC cannot be avoided

sick apex
#

say i do an array of auto

#

a list

#

of auto

#

can i hold many different values in it

late fulcrum
#

Usually you hand off a token (like an enum) specifying what type a given piece of data is, OR just have each function understand what data to expect.

raw jasper
#

Yeah, you typically know this beforehand. Otherwise, you will have to use a serialization system

#

(Think JSON and friends)

#

Which takes us back to REST

patent hemlock
#

nice!

late fulcrum
#

Some systems have one token for the data type, a fixed size int for the data size, followed by the data itself (typically padded to word boundaries). However at that point, you've implemented most of XDR.

patent hemlock
#

and gRPC

#

excuse me, protobuf

late fulcrum
#

Heh, yeah, XDR is basically a lightweight version of what protobuf does

raw jasper
#

Of course, all of these have quite the overhead compared to "dumb" message passing

late fulcrum
#

Hence the popular approach of having each function know what to expect as arguments.

fossil dawn
# sick apex of auto

afaik auto just means that the compiler will choose the data type for you. But it's still just one data type which is decided at compilation. So you can't just mix anything in there. Personally, I avoid auto

raw jasper
#

(In any case, if you are doing parallelization, you are hopefully working on some embarrassingly parallel problem, or an embarrassingly parallel part of a problem, which reduces the amount of communication you'll need to do)

south light
#

Can't make an array of auto

glad ruin
#

Here's the approach I would take:

  1. Forget about the ESP boards for the moment, those can come later.
  2. First, implement a simple server that accepts and responds to commands. You may want to consider implementing a message queue of some kind so that you can send multiple commands and store responses until requested.
  3. Get multiple instances of the server application running on your machine over different TCP ports.
  4. Implement a "dispatcher" that manages a connection to each server instance, sends commands, and requests responses.
  5. At this point, everything should be running locally on your machine. If implemented properly, the server and dispatcher logic should be relatively platform independent.
  6. Port the server code to the ESP32, implementing additional functionality as necessary.
  7. At this point, you will have a PC managing a small "cluster" of ESP32 boards. From there, you should be able to port the dispatcher over to an ESP32 as well.
  8. Implement logic on the dispatcher that accepts remote commands from a computer.
sick apex
#

alright

#

thank you

#

i'll try that

late fulcrum
#

When I build such systems (I've done it that way too), I'll often write faรงades that implement an interface but don't really do anything (but maybe emit some helpful debug info like "I received request 4 with 8 bytes of data"). Then I get the protocol working to talk to them. Once that's in place, I flesh out the modules with functionality.

sick apex
#

well to begin with i was mid way through writing through a data transfer protocol

#

so im already much further ahead

glad ruin
# sick apex of auto

No. Auto is just syntactic sugar meant to remove type declarations that are redundant. It's useful when the type is apparent on the right hand side of the declaration.

fossil dawn
raw jasper
#

Cursed computing!

fossil dawn
#

whatever program you write, just make sure to not accidentally write this: This is only shared as a warning! ๐Ÿ˜ฑ

#

lol this is fun

#

268448319 is the adress of blinkenFast

raw jasper
#

this reads like a carnival ride

fossil dawn
#

when I copy paste 268448323 (so the previous + 4) into the serial console it also starts blinking fast but it never stops

raw jasper
#

It's probably pulling an amagalm of instructions from blinkenFast + something else in that neighborhood of memory

#

Like an intentional and completely cursed version of Return-Oriented Programming

fossil dawn
#

seriously though, I think you should be able to do like "apps" or something like this ๐Ÿค”.

#

I mean the LittleFS is just a part of the same flash that the pico executes from

#

You would just have to find the address of the file, and then execute it

#

And the user could upload apps without "flashing". The pico could even download them via wifi

#

it sounds super cursed though

glad ruin
#

You'd likely need to change some low level memory segmentation registers.

fossil dawn
#

is there something preventing the pico from executing from certain flash regions? ๐Ÿค”

raw jasper
#

Dunno, does it have an MMU?

fossil dawn
#

and if an "app" needs to call something like a adafruit_gfx function or even a function from the arduino-core how would that app know the adress of that function. Sounds like it requires advanced compiler configuration or something

#

this is all just stupid ideas ๐Ÿ˜†

glad ruin
fossil dawn
#

yeah sounds like I won't do that ๐Ÿ˜„

#

Thank you though

night crescent
tight copper
#

i just need to kinda vent about something real quick and i figure this is the only discord that will understand
WHAT IS HAPPENING TO MODERN CONSOLE HDMI PORTS

every repair video i see online is of an hdmi port especially on the ps5

#

hdmi has been around for years why is everyone all of a sudden dropping crap and yanking their consoles by the hdmi port

late fulcrum
#

Huh, most of the PS5 repair videos I've seen are how to fix overheating

#

Although personally, I think the playstations have been hampered ever since they switched to a less efficient CPU

tight copper
#

the fan being easy to remove is awesome but the air isnt pushed out through the top, rather through the back and sides. The intake is also a thin strip beteween hard plastic and sheet metal

#

it just makes me think why

#

also why no dust filter too. These things are constantly clogged with dust

late fulcrum
#

And their thermal performance is marginal to start with, so just a little dust causes them to overheat. Then the liquid metal oxidizes and loses its heat conductivity, which makes things hotter, which leads to more oxidation. This one is in my basement right now, trying to fix thermal issues.

#

And security Torx-8? Bleah.

brave copper
#

A little advice don't short 3v3 to 5v on the pi

burnt tendon
#

Welp, I guess the Playstation 5 is just ๐Ÿ”ฅ lit ๐Ÿ”ฅ

patent hemlock
brave copper
#

it doesn't just kills it to gnd of the chip

raw jasper
#

BTW, out of curiosity, which PS model is this?

#

(I'm not really familiar with anything that came out after the PS3 :P)

olive dome
south light
#

Worse, in a product designed to be used upright where the metal wants to flow downwards

#

A few have had the seal degrade and the metal leak across the board, pretty fatal

#

Similar happened when Asus started doing it in laptops

#

Of course that's a concern when folk DIY in their standard desktop systems too, but it is an added failure mode that I don't think is worth it in a consumer product

#

Liquid metal at the wattages and high efficiency of PS5 silicon just isn't that big a gain over a good quality paste

late fulcrum
#

They're pushing the architecture hard, and liquid metal does give a solid metal-to-metal junction between CPU and liquid metal and liquid metal and heatsink. I think they went that way because the cooling design is near its margins to start with. I would have gone with a better thermal design and more conventional implementation.

#

However, they're stuck with some inconvenient realities, which is what pushed them to this architecture in the first place.

raw jasper
#
  • it at least used to be the case that most games were ported from wintel
late fulcrum
#

Exactly. The game developers didn't like the effort required to program the Cell processor, so Sony downgraded back to X86

dusty citrus
#

I can't find much
Does anyone know a voip manager named as "treccix" or similar that runs on raspberries?

dusty citrus
# crystal ore Asterisk?

No they also mentioned something like treksix, treccix or something, likely he misspelled or got confused idk

bitter creek
#

Hey @ebon dew ok thanks for letting me know.

dusty citrus
#

Dunno if that's the same but I may found what he meant "3cx"
3 in my lang is spelled as "three"

dusty citrus
#

Thanks anyway

sacred scaffold
#

Is there a current guide on how to submit a Learn guide for the website? I've been looking a fair bit recently, and while I did find the style guidelines document and instructions for contributing code (not text), I haven't been able to find where to actually submit a Learn article. I do see the new Notes feature, but I don't think that's the path towards contributing an article.

south light
#

Unfortunately for them, bit of a difference between hey we're gonna start multithreading our games and we're gonna program our game around a single core non hyperthreaded chip and a lot of dedicated coprocessors

#

Today, makes a lot of sense they ditched power architecture

raw jasper
#

Which.... tbf does not really work in practice

south light
#

Yeah it was too custom

#

And then we've ended up with the Xbox one and PS4 being very very similar, and again Ps5 and Series X

#

Almost boringly similar

raw jasper
#

I'd love to see a new mainstream machine with a Weird[tm] architecture come out these days though

#

(sorry forgot to complete a word :P)

south light
#

Closest we have is the switch and let's face it, wickedly cool device, but not competing at that level

raw jasper
#

Isn't the switch just a nvidia tegra with some custom toppings?

south light
#

Not even particularly custom toppings

#

Pretty much a binning of the quad core X1 variants used on the Jetson nano boards

#

And then later on, a die shrink of same chip

raw jasper
#

I wish I had gotten a jetson when they were more... affordable

south light
#

I have one and am not overly enthused by it

raw jasper
south light
#

I forget which process nodes they jumped between

#

But later SoC is smaller process yes, and so the later production of standard switches, all lites and all OLEDs have better battery life than some of the earlier ones did

#

And less problems with a few titles thermal throttling - rare but could happen, particularly when docked

raw jasper
#

I mean, "dark silicon" is certainly not a problem exclusive to the switch

#

Recent intel cores are notoriously hard to cool

south light
#

My experience with the Jetson nano though, useful for some stuff, nothing I do. otherwise really highlights the issues with ARM SBCs for hobbyists which aren't a pi

raw jasper
south light
#

I have no interest in doing so

#

I legit bought it earlier on as a more powerful pi, and it's bad at that

raw jasper
#

Ah, OK. Because AFAIK the main target market segment was performing ML on an edge node

south light
#

Yup, and as a result. CUDA and opengl is like the only 2 things working out of box

raw jasper
#

hah

#

:P

south light
#

Desktop is software composited. Media decoding goes through Nvidia specific libs. Browsers are pure software rendered, including video playback (related to media decoding)

#

End result, despite being a more powerful CPU than a pi 3 (though weaker than a 4) and having all that GPU along for the ride? The 3 legit feels snappier and does a better job of playing back media in a browser

raw jasper
#

Somehow, I do not think nvidia was even thinking about that while designing this product ;P

south light
#

What was neat. They did have a python lib compatible with RPi.GPIO, so compatible that in the python libs folder is an RPi.GPIO that is just 1 line, import [Nvidia lib] as RPi.GPIO

#

So some of my python code for pi's just worked

raw jasper
#

nice!

olive dome
late fulcrum
#

Yes, the weight is lighter, but the heatsink design still seems marginal at the beginning.

late fulcrum
#

Alternatively, perhaps the intended usage is for casual gamers that just play for an hour or so at a time. But I normally design heat dissipation for continuous use in a warm location.

raw jasper
#

(I am genuinely curious)

glad ruin
#

Junction temperature is always going to be considerably higher.

late fulcrum
#

The whole assembly has a fair amount of thermal mass, so it slowly loses ability to remove heat from the chip as it heats up. Some cheap UPS units take this to an extreme by simply having a chunk of metal as the "heatsink". Those UPS units are designed to operate for only 10-15 minutes, and people who've added larger batteries to them in the hope of longer runtime have been disappointed as the whole thing overheats and shuts down.

raw jasper
glad ruin
#

Yeah that's all deliberate marketing obfuscation.

#

Numbers given by marketing have very little to do with reality.

raw jasper
#

That's probably right. On the other hand, my old laptop would shut down once the CPU reported the temperature on the spec

glad ruin
#

That would have been managed by the firmware.

#

Also, I used to work at Intel. I know for a fact that the marketing is detached from reality. Like, they do get some numbers from validation, but they almost always use them out of context or apply them in situations where they are irrelevant. They also heavily cherry pick their data.

#

Short version: I will never trust vendor-supplied benchmarks.

olive dome
#

I trust Sony do their engineering work for the thermal solution but the decision to use liquid metal while "optimizing" the heatsink later doesn't make much sense to me.

#

Yeah operating system is not fast enough to shutdown the CPU to prevent thermal overload, it is done through internal firmware, and in extreme cases: a simple comparator and GPIO output for that.

raw jasper
#

Does the PS5 have a discrete gpu, or is it part of the SoC?

olive dome
#

Part of the SoC

raw jasper
#

Huh..... I'd have expected them to use a discrete one, given all the hype about the unit's "graphical power" (w/e that means, I'm not a gamer, I wouldn't know good graphics if it hit me in the face lol)

south light
#

(my b, I deleted a post taht was in error)

tranquil swallow
#

Global illumination is the bar for good graphics now. More GI = More graphics

south light
late fulcrum
#

Global illumination? Like SGI style?

south light
#

most of that SoC is GPU, its more like a GPU with integrated zen 2 CPU cores XD

#

but GPU takes up space, and its a console, so not actually that surprising. Its a similar case in many SoCs now

late fulcrum
#

Yeah, most modern games basically run on the GPU, since they're generally designed on PCs that have fairly anemic CPUs to start with.

glad ruin
#

So... a lot like NVIDIA's Tegra modules, i.e. a couple of ARM cores duct taped to a laptop GPU.

late fulcrum
#

Same idea, just a more primitive core

tranquil swallow
south light
#

I wouldnt call zen 2 primitive

late fulcrum
#

I thought it was X86?

south light
#

Yes

late fulcrum
#

To me, that's 1900s technology

glad ruin
#

x86 is a primitive core that really doesn't deserve to be in use anymore.

#

Unfortunately, Microsoft did well.

south light
#

Fact is, much as I dislike x86. Not much out there can compete with it

#

A few ARM core designs, some RISCV

#

POWER still exists and only really holds its ground in specific workloads (earlier version of power was what was in PS3)

glad ruin
#

That's due to market momentum.

tranquil swallow
#

Be the change you want, risc-v hardware is out there

south light
#

RISC-V is vastly overhyped and misstated

late fulcrum
#

RISC-V seems to me like the Pascal of ISAs. It was designed to showcase how to implement a CPU.

glad ruin
#

Ampere is starting to catch up, but they serve the server market.

south light
#

Seen too many people assume that because RISC-V is an open ISA, that means all RISC-V chips and software will be open

#

and its like, unfortunately, no

late fulcrum
#

ARM is a pretty solid architecture. So is Power (which is used more than you may be aware, and is even showing up in the embedded world). MIPS was looking promising, then they made some dumb decisions. SPARC was a cool architecture, but it's basically dead now. You'd think there would be some swoopy new 21st century CPU designs, but nope.

south light
#

It just means qualcomm can charge the exact same for a SoC, without paying licenses

#

I am aware of POWER and its usage in datacenters and also in safety critical MCUs

#

albeit the latter is not for any specific reason unique to power and just due to momentum

#

and the prior, at this point is mostly due to 8 way SMT scaling very well in that application

glad ruin
late fulcrum
#

You can rent PowerPC VMs in GCP, which is kind of cool. I've been eyeing some of the Talos/Raptor and Barreleye motherboards as well. I got to use an IBM AC922 for a while, which has a PowerPC CPU and a pair of high-end nVidia GPUs. That was a beast.

south light
#

but other important thing is ISA != implementation, A modern AMD CPU looks nothing like a pentium

#

And RISC-V, christ, soooo many implementations

late fulcrum
#

Yeah, all the recent X86 implementations use a RISC(ish) backend running microcode, Univac style.

south light
#

yeah, and with some of the more recent ones, manage to nudge even M1/M2 out of the top spot for efficiency

glad ruin
late fulcrum
#

Making real optimization impractical

glad ruin
late fulcrum
#

I still remember when Intel strongly hinted at a RISC core, to the extent of referring to the X86 instruction set as "RiscOPs". The internet greeted this with the laughter it deserved.

south light
#

Its some sort of VLIW apparently

#

nvidia also tried their hand at approaching intel seeking license to build an x86 core. Intel basically gave them the middle finger

late fulcrum
#

Then they tried to buy the rights to ARM...

south light
#

many years apart, but yes, and that hasnt gone well for anyone

#

though their latest server ARM CPU at least looks mildly interesting. Competition for ampere? More widespread adoption to jolt other companies into gear? Dunno, we'll see

glad ruin
#

When I was at Intel I asked about what the underlying hardware was. Everything is so heavily fragmented now that I don't believe anyone actually knows. What I can say is that there is a constant battle with the history of the x86 architecture. It forces things to be done in a way that is suboptimal at a hardware level, and restricts how and where you can apply certain optimizations. This is a fundamental limitation of the ISA that cannot be overcome without fundamental changes that break backwards compatibility.

late fulcrum
#

Intel is threatening to axe some of the backwards compatibility and just support the 64-bit subset, which is probably a good idea.

#

While PowerPC laughs in 128 bit

raw jasper
#

Wait, current production ppc cores can get 128 bits of data per load?

south light
#

Depends on how you count 128 bits, scalar yes

#

vector, intel has done 512 bits

raw jasper
#

Yeah, scalar, not VLIW/vector etc

south light
#

And other one off pieces of silicon have probably done more

#

RISC-V defines 128 and 256 bit variations, but doesnt expect them to be particularly useful anytime soon

#

POWER afaik is only 128 bit for a few operations, not full arch

#

but any native 128 bit scalar op puts them ahead of competition

raw jasper
#

tbh, I can only think of "some crypto" as an application for long scalar words

glad ruin
late fulcrum
#

Basically for SIMD operations (so you can do 16 byte operations at a time, or 4 32-bit ones)

south light
#

I literally wrote code today on x86 doing 8 32 bit operations at a time

late fulcrum
#

I don't remember any 128-bit buses on Intel nor ARM

raw jasper
#

For Most Other things (that I can think of), SIMD is probably better

south light
#

SSE and AVX are for SIMD and stretches to 512 bits

glad ruin
#

SSE/SSE2/SSE3/SSE/SSSE/AVX/AVX2/AVX-512.

late fulcrum
#

Also, Power can do 3 integer operations and 2 floating point per clock, if you optimize your code and data (I have done so, and it wasn't for crypto, it was processing image data from a radar)

glad ruin
south light
#

Still does

late fulcrum
#

How is that bad?

south light
#

intels atom does 7 integer per clock

late fulcrum
#

I don't think we're talking about the same thing here...

glad ruin
#

What are you talking about exactly?

#

Also, Intel did not invent SIMD, nor is the x86 implementation of it particularly good.

south light
#

Never claimed they did invent SIMD nor that its good

#

its just we're apparently bashing on x86 because hahahaha POWER does 128 bit SIMD

#

yet, ARM neon present in a pi 2 does 128 bit SIMD

#

x86 already does 512 bit SIMD

#

Like sure, theres issues, its just also not revolutionary that POWER does it and hardly a major selling point now

#

AVX512 in particular is just broken down into so many optional extensions that vary across intel SKUs in a single generation, and didnt have an AMD implementation (not sure if its current or next gen AMD that is getting it), and finally, just doesnt scale that well

#

Its like all of 20% faster than just doing 2 AVX2 ops

#

So sure, faster, but nowhere near what you'd hope for doubling you data width

#

Oh and extra bonus it worked completely differently in skylake and ice lake

olive dome
#

AMD do able to run AVX512 though

south light
#

yes but is that in current or their upcoming gen, their last certainly didnt

olive dome
#

Current gen

#

Also the best vector inst is actually ARM's SVE

#

You can have the same code to run on different width of actual execute engine

glad ruin
olive dome
#

This should be the way Intel do AVX family at the first place

south light
#

also modern POWER uses OoOE and branch prediction

#

so is just as non deterministic

#

as do many ARM implementations (varies on intended usage)

#

A53's for example and now the A35 also were optimised for smallest die area over performance, so that is yeeted

glad ruin
olive dome
south light
#

^ its nothing new

#

AMDs road map I think also includes 4 way SMT, POWER is on 8, but SMT doesnt scale to all workloads. Datacenter has a lot of waiting on NIC/Disk/OtherIO, 8 way SMT scales nicely there

#

Some stuff I was working on today, doesnt, scaled beautifully with physical core count in version 1 of threading it, but not with logical count

#

Though I want to spend more time optimising the main body of the code rather than just throwing threads at the problem

olive dome
raw jasper
#

I'm surprised the discord bot can open these

#

Speaking of, do you happen to know whether AMD has released any details on what the "AI cores" are going to end up being?

south light
#

Everyone getting ai cores now eh

raw jasper
#

ใ‚ใใ€ใชใ‚‹ใปใฉ

#

ใ‚ใ‚ŠใŒใจใ†๏ผ

olive dome
olive dome
#

Yeap you are right on it

raw jasper
#

I wonder whether they'll be user-programmable

olive dome
#

I think they also hope that otherwise nobody is going to use that

tardy badger
#

My lemon, just 5 days ago only barely had cute little buds on it. Now itโ€™s has tiny branches ๐Ÿค“

versed meteor
#

Cool

#

Do you have a watering system on it or something???

tardy badger
#

Nah, just old fashioned โ€œdid I remember to water the plants today?โ€ Method lol

#

I could easily add one if I wanted

rapid geode
#

i have a "giant thunderstorm causing floods" system to water my plants

#

my corn is looking nice though. will be reading in a week. carrots are great, ive eating some already. peaches, still not sure, they arent getting any bigger

violet parcel
#

too cold to grow anything here problem solved ๐Ÿคฃ

versed meteor
versed meteor
#

lol

#

anyways what projects are you working on?

tardy badger
#

Too many tbh lol

#

This environment sensor

versed meteor
#

woah!

#

thats cool

#

is it like IOT?

tardy badger
#

Nah, no Wi-Fi

versed meteor
#

ok

#

so what are you using it for exactly?

tardy badger
#

Local tracking of environmental data like temperature, ambient light, air pressure, and soon VOC

versed meteor
#

cool

honest jolt
#

Add WiFi so you can reinvent the wheel and over engineer another dashboard and graph web page

versed meteor
#

YEAHH!!

umbral phoenix
#

Is there a canonical way in a simple database to represent relationships that are correlation only. There are two main entity types, each may be correlated with many of the other.

crystal ore
umbral phoenix
#

I know almost nothing of databases. If I do anything, it will be with the simplest tool possible. I was just wondering if a correlation relationship had some distinct terminology or representation as opposed to a definite relationship.

#

Type A things have a number of characteristics, including some correlations to various Type B things.

#

Type B things have a number of characteristics, including some correlations to various Type A things.

#

Very few definite 100% relationships between any A things and any B things, but they can be many-to-many even if definite.

crystal ore
#

You could probably represent that as a graph with edge weights for the degree of correlation, but that's not (AFAIK) a feature that simple databases tend to deal with.

umbral phoenix
#

that makes sense, thanks... if the tool doesn't support it directly I could probably wedge those weights in somehow

#

or, since putting a number on the correlation is difficult, only distinguish between definite and correlation

half sun
#

Finally finished a weirdest hobby tool for future use

#

Tho I need to add a cover

vocal hare
#

You'd just need to JOIN two tables on the characteristics.

#

If you ONLY want to store data where data matches and have a constant in flow, that can get more complicated but, if running periodic queries is fine, quite doable, even with something like sqlite.

raw jasper
#

(or, if you have a table with pairwise correlations or something, you could have a schema of FEATURE1 FEATURE2 CORRELATION)

fresh niche
#

Nice project i wanna recreate

vocal hare
#

Multiple ways to solve it in SQL. My approach would likely be to go with something like the below, supposing the available characteristics would not change. Otherwise, I'd go with something like either what you've got, or a lookup table for the characteristics because that would be easy to extend.
CREATE TABLE type_a (
id INTEGER PRIMARY KEY,
characteristic_1 TEXT NULL,
characteristic_2 INTEGER NULL
);
CREATE TABLE type_b (
id INTEGER PRIMARY KEY,
characteristic_1 TEXT NULL,
characteristic_2 INTEGER NULL
);

Then, get the matches with a simple INNER JOIN.

umbral phoenix
#

Thanks, I'll need to do a bit of research to fully understand that, but that gives me some direction. The nature of the data is: new entities of both types added to the mix daily, some with new correlations both directions, plus reinforcement of existing correlations, and on a good day a definite relationship established.

coral solstice
#

hello

late fulcrum
coral solstice
#

@late fulcrum that isn't the type. There are no terminals crimped on it

urban arrow
#

HOT in Texas. Just for grins, I keep telling my wife that our mid-summer is mid-winter down under in AussieVille, but she doesn't quite get it. Anyway, I looked at Sydney's temp yesterday, 53 for a HIGH. Wish I could summer down there ha ha.
Does anyone remember back at Christmas we saw all these pics of beach-goers in Aussie sunbathing with Santa hats on?๐Ÿ˜„

late fulcrum
coral solstice
late fulcrum
#

Yeah, why?

sick apex
#

so picture this right, im in the middle of teaching a class to a private student right

#

they join 15 minutes late, we get 15 minutes into the lesson and then their laptop dies

coral solstice
# late fulcrum Yeah, why?

There are no crimped connectors. You are supposed to push the wire into it and it slices the insulation to make contact with the wire.

late fulcrum
#

Oh, it's an IDC connector. The usual approach is to lay the wires in the grooves and clamp the cover over them, pushing them into place. This takes a considerable amount of force. There are special pliers made to do so, but you can use a bench vise (carefully) or ordinary adjustable pliers (even more carefully)

vocal hare
# umbral phoenix Thanks, I'll need to do a bit of research to fully understand that, but that giv...

I've done a lot of db work for someone who has never been a db admin and my last job was at a data analytics software company so, I've a fair amount of background in SQL and SQL-like systems (and to a lesser degree NoSQL and graph dbs which are cool but maybe overkill). Happy to help with more guidance, if you need. Based upon your descriptions so far, it really seems like there are many right answers if you get to me specifics and what sort of programming language you'll be using, I can probably point you towards what I think should be some good paths.

umbral phoenix
#

@vocal hare thank you, at this point I'm collecting data sparsely and thinking about what I want to do. definitely want to keep it as simple as possible, and maybe simpler ๐Ÿ˜‰ hopefully python (possibly php, ugh) as some of this may get processed on microcontroller (but some on server)

fossil dawn
#

do programs actually use those AI coprocessors? ๐Ÿ˜†
The only thing I use that I know uses special AI hardware is Nvidia broadcast. And even what it does is integrated into webex and programs like that which I would assume don't use any special hardware

fresh niche
#

How far we have come

glad ruin
raw jasper
#

At least the AMD thing

#

(Also, I don't really care about what programs can do, but what fun things I could do with the new architecture)

glad ruin
#

That will depend entirely on how much they publish about the new architecture.

raw jasper
#

"new", as in, potentially obtainable for some price below 20k$, which is what the Xilinx Versal chip eval boards (which were the origin of the AI cores that seem to be featured here), seem to go for ๐Ÿ˜…

raw jasper
#

The question is, how limited it will end up being. If they only release some proprietary tool that only takes as input a finished model and "prepares" it for use with the IP, as apple does with coreml and their neural engine, it wouldn't be very useful

glad ruin
#

The term "devkit" can mean pretty much anything. It might just be a binary blob that provides bindings to common AI/ML APIs but contains no information about the underlying hardware.

raw jasper
#

I agree.

#

TBH, this is what I expect them to release

glad ruin
#

They're quite a bit more transparent than Intel and NVIDIA when it comes to describing their architectures.

raw jasper
#

I'd hope they'll go ahead and document it publicly, since it appears to be "reused" xilinx IP, but I'm not too expectant of that

glad ruin
#

Yeah

raw jasper
#

Apple did not even release bindings for the common ml libraries for their neural engine thing

glad ruin
#

ITAR may also complicate things.

raw jasper
#

I mean, if it makes fin sense for them, they could ship a version w the cores disabled and gate sw, much like xilinx does

glad ruin
#

I won't say it's impossible to reverse engineer, but that will be a lot of work.

fossil dawn
glad ruin
#

... which has traditionally been one of the biggest markets for FPGAs

raw jasper
fossil dawn
#

๐Ÿคฏ

raw jasper
fossil dawn
#

i mean yeah but it seems super weird to me to build hardware from actualy resources and then not let people use it ๐Ÿ˜‚

raw jasper
#

But yeah, apple does use it internally

glad ruin
glad ruin
raw jasper
#

As far as I know/have seen, they seem to be enough to get a/most designs going... ๐Ÿค”

#

But I agree that is the case

sick apex
#

how would i go about writing a Mifare 1kb RFID tag

#

do i gotta buy a special writer thing

#

cause i know you can write NFC tags with android phones but idk if it will work

olive dome
#

You can run Stable diffusion on Mac with their ML framework

#

Also Apple's ML framework like all the ones out there, is not using the accelerator only, but a mix with CPU/GPU/NPU.
Because NPU is not always able to run any machine learning arch, given the delay between the new hotness in software and when the chip design is out for that

raw jasper
#

Ideally, I'd like to be able to directly address the NPU and do what I want with it (within the limitations of what the design can do ofc) ๐Ÿ˜…

olive dome
#

But that is not what software people normally want, from software company perspective they want one program to run on everything

#

like how Intel throw out MKL library with their new One API

#

So that GPU/CPU can share the code

raw jasper
olive dome
#

the point is oneapi replaces mkl, and they wanna to use this API to mix in different processing units

raw jasper
#

I thought oneapi is an umbrella brand name for.... all intel tools

#

Like, even intel advisor installs under oneapi iirc

raw jasper
olive dome
#

Yeah it really confused me, I have a graduate project that uses MKL and my professor have to ask me where is the download link for MKL years later.

raw jasper
#

...and that's why archiving the tarballs you need for your project to work (or a VM image or whatever) is a good idea :P

olive dome
#

Well the better way is to update the cmake files for oneAPI so you can still update the library but still not a bad idea

raw jasper
olive dome
#

Also, Intel should have their VPU into Meteor Lake too, and interestingly they seems to have a M.2 Module VPUs bundle with their current gen Raptor Lake notebooks to build up the software support and demend but I don't see that anywhere on the market.

raw jasper
#

I've never looked into the vpu

olive dome
#

It is just the same as NPU, typical Intel naming

raw jasper
#

O_O

#

Then why name it visual processing unit ๐Ÿคฆ

#

I can't even find a good block diagram online

#

The one I found appears to have hard IP cores for video filters?

olive dome
#

Like I said, there is a delay between the new hotness in software and when the chip design is out for that.
Intel's VPU from Movidius was designed for image recognization and processing at the beginning (See Pixel and Google's AIY Vision Kit for RRI)

#

But now it is not limited to visual processing but all the neural compute

raw jasper
olive dome
#

I don't have any info on that....

#

If they presented on Hotchips then I might have some diagrams available though

raw jasper
loud gazelle
#

hey does the oled featherwing use all of the power from the 3v pin i want to hook up a fan controller to my feather with an oled the esp32 8mb to a EMC2101 and aa humidity sensor through stema qt

can i hook up both the oled featherwing and the emc2101 to the same 3v pin on the esp32?

raw jasper
fossil dawn
olive dome
tardy badger
sharp nexus
#

Ey M8s!

#

I neat s'm elp

#

I neat to feind aut

#

Bipolar power supply, lets jump on a call m8 ๐Ÿ™‚

torpid jungle
#

Basic question regarding MOSFETs: Gate-Source Voltage (V-GSS), in this OnSemi chip, it's +-12V
https://www.onsemi.com/pdf/datasheet/fdc6401n-d.pdf

But in the datasheet, the gate threshold voltage is 0.5-1.5V (min-max). Does this mean: It can tolerate up to 12V of voltage to the pin but it will activate anything above 1.5V (technically, I should not go with just bit over 1.5V as there's the buffer zone, I'm planning to use 5V).

Or do I have logic wrong?

late fulcrum
#

You're close. It starts to conduct at 1.5V, but just barely. As the gate-source voltage rises, it conducts more until it's fully conducting. But don't drive the gate more than 12V higher (or lower) than the source.

torpid jungle
late fulcrum
#

This graph shows the relationship between gate voltage and channel resistance

#

Yes, 5V on the gate should switch it nicely.

torpid jungle
#

Ah, that makes sense. The datasheet had a bunch of graphs so I got tad confused which one is the one I'm supposed to look kek

#

Sweet, thanks for the confirmation!

late fulcrum
#

Reading datasheets can be complicated, but it gets easier after you've gone through it a few times.

torpid jungle
#

2 years ago:
"What is this all gibberish?!"
Me now:
"What's some of this gibberish?"

south light
#

Sounds about right

torpid jungle
# olive dome Got to setup a newer SWIR camera!

Nice!! I'll prolly should check what's wrong with that one Firewire camera at work that we are scrapping. It's a microscope camera and definitely obsolete, but... if it's going to scrap, I could ask my boss that could I try to troubleshoot why is it not working.

#

I doubt that there's a HUGE damage, probably some capacitor broken...

raw jasper
torpid jungle
#

I'd love to get a microscope for soldering but having a high standards for microscopes really doesn't help in personal life feelskek2

raw jasper
#

๐Ÿ˜…

torpid jungle
#

Sooo...

#

Yep

raw jasper
#

biotech or maintenance?

torpid jungle
#

Biotech.

#

plus maintenance of them also, basic, not advanced.

#

It doesn't help that I work with microscopes that costs 6 figures omegalul

raw jasper
torpid jungle
#

Exactly! ๐Ÿ˜›

#

And since I daily use the dissecting microscope from Zeiss, it's so freaking nice and I would love to use for soldering. but the price is literally keeping me from buying it as it's more than my car.

raw jasper
#

....imagine mucking the lens up from the fumes X_X

#

I'm guessing you do med. dev./physio stuff?

torpid jungle
torpid jungle
raw jasper
tardy badger
#

I thought it was just the scratching neck meme lol

raw jasper
#

(or any of the new crazy setups that are basically confocal + insane optical pizzaz)

torpid jungle
#

Super resolutions go brrrr

tardy badger
#

Me telling people about big pharma ๐Ÿ˜›

torpid jungle
#

Everything from millimeter scale to nanometer.

tardy badger
#

Joking of course, modern medicine is important to treating life altering diseases/conditions

raw jasper
torpid jungle
tardy badger
#

Which good news, a MDR TB medication will get generic options for low and medium income countries where it was estimated 3-6m people would have died for drug resistant TB

raw jasper
torpid jungle
#

In the end, they are reaaaally janky.

raw jasper
raw jasper
torpid jungle
#

I have rolled my eyes for seeing so many times machines with "highly refined electronics".

raw jasper
torpid jungle
#

Best one: Scanner with "highly optimized and developed label lighting system". AKA: 8 THT 5mm white LEDs with prongs widely available for shorting and in a nice line without any alignment.

raw jasper
tardy badger
torpid jungle
#

It's just classic example of marketing bullcrap

raw jasper
tardy badger
#

General hand washing goes a long way for TB from what I understand

raw jasper
#

Other contestants may include: Bird flu, some new variant of sars-cov-2, and who knows what else

tardy badger
#

Hand washing seems to have a significant impact on TB infection and death

raw jasper
#

Hand washing seems to have a significant impact on TB infection and death

#

fixed it for you :P

tardy badger
#

Iโ€™m speaking only to TB right now ๐Ÿ˜›

raw jasper
#

Speaking to TB?

#

I imagine you telling it

Bad bacterium

#

In the same tone as "bad doggie" :P

tardy badger
#

Yes itโ€™s good for all sickness in general, but I was following up on my claim about hand washing reducing TB incidents

raw jasper
#

It looks like tb can be airborne too...

tardy badger
#

Yeah, though it primarily spreads through surface/skin contact

#

Weโ€™re in for a huge wake up when itโ€™s primary mode of spread changes though

raw jasper
#

Most cases of TB disease are likely to be spread by either aerosol from bronchiole (A) or bronchial (B) sources. Bronchial aerosol, if present, would occur during high flow expiratory events like coughing and sneezing. In contrast, bronchiole aerosol is common to all breathing activity but becomes significantly more prominent when the depth of expiration exceeds the airway closure point. Therefore, infected aerosol is likely to be emitted during singing, talking or coughing and to a lesser extent during tidal breathing. A single cough therefore has an increased likelihood to carry Mtb aerosols compared with a single tidal breath due to depth of the preceding expiration and increased bronchiole aerosol content. However, since breathing is typically at least 30 times more frequent than coughing in TB disease (median 26 cough/hour [5], approx. 720 breathes/hour) cough Mtb aerosols may be rarer than breath Mtb aerosols.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6688829/

Looks like the situation is a bit better than SARS-CoV-2 though

raw jasper
tardy badger
#

Evolution is a thing ๐Ÿ™‚

#

Hard doesnโ€™t mean improbable

#

Just takes the right conditions like.. global warming

#

Increased difficulty in maintaining hygiene due to capitalistic pressures

raw jasper
#

OFC, but (1) there'd need to be a selective pressure towards laryngeal establishment, and (2) the rate of evolution and effective population size (number of individuals involved in reproduction) should be sufficient for the "mutation" to establish itself

raw jasper
#

ofc, it's a bacterium, so effective population size is always "good"

tardy badger
#

I tend to think that the decrease in down time and windows for self care will make pandemics more frequent

raw jasper
#

Everything in the name of "efficiency"

#

(*short-term)

tardy badger
#

Which is code for extracting money wealth for a selective group of individuals

raw jasper
#

Anyway, I think we're gonna get kicked out of the server if we keep this up

tardy badger
#

Yeah

#

Anyway, wash hands, be kind, love erbody

torpid jungle
#

It's infuriating how half-baked our pandemic-prevention system is. Things evolve and things that worked before will not work in future.

glad ruin
torpid jungle
glad ruin
torpid jungle
raw jasper
#

^ Humanity's current strategy

tardy badger
#

On todays docket, making some Cast-Away 2040 boards to bring new stock to my Tindie shop as well as some 5V 500mA and 3.3V 500mA buck supplies

raw jasper
#

nice

#

I'm running memtest X_X

tardy badger
#

Oh fun

#

Suspected RAM failure, eh?

sick apex
#

what would be the best way to store a password on an RFID card

#

like an acceptance code

#

or whatever

#

key code

tardy badger
#

Probably using a public/private key pair

sick apex
#

im replacing my bedroom door and it has the space for a magnetic lock so i figured it would be amusing if i added an RFID code to it then wrote an app that would connect my door to my wifi so i can open my bedroom door

#

i was thinking that but it would be a "female dog"

#

because you can only hold 16 bytes on each block

#

each sector has 3 blocks

#

and the rfid card is only like 512 Bytes

south light
#

can still do public/private keys in that, they just wont be long keys

tardy badger
south light
#

But you would need some smarts on the card that the card likely doesnt have

#

So you're probably looking at rolling code or something instead

sick apex
south light
#

Rolling code is what my uni did with mifares

sick apex
#

what if i did something like

#

JWT

#

but not like JWT

south light
#

Ie, a code

sick apex
#

same principal

south light
#

The problem is you have no smarts on a plain RFID tag

#

So you really can't do anything more than read its contents and check they match something

sick apex
#

well it doesn't have to be secure

#

its more of a

#

gimmic really

#

its for my bedroom door

#

i dont think anybody in my house has the smarts to clone my RFID tag

#

write their own

#

just to get into my room

south light
#

For further security, you either need smarter cards with an mcu onboard, or rolling code

#

Rolling code used to be whatcar keyfobs did

#

You basically change the password every usage

#

And rather than just reading the key, you read, if password matches what's expected, change password, write it back

sick apex
#

ohhhhhhhh

#

that makes sense

#

i didn't know what you meant to begin with

south light
#

It gave at least some protection against replay attacks

sick apex
#

oh i will

#

should i just keep track of the last x amount of passwords

#

then set an alarm off if its replayed

south light
#

The next level they went upto (not needed or possible for RFID though) was the car only sent back an acknowledgement that the password was correct, it didn't send the new one back, instead both the car and key were seeded to the same pattern so all the key needed to know was yay I was write and it could go to the next number in sequence. The problem. Quite a few OEMs the algorithm was cracked and if you could capture 2 key usages back to back you could then predict the rest of the sequence

#

Which in turn meant you only had to capture someone accidentally locking and unlocking the car

sick apex
#

then make it write back a new pwd

#

keep track of all of the old keys

#

well like the previous 10

south light
#

For plain RFID tags/mifare about as smart as you can get is authenticate and rewrite

#

And it's often preferable to allow the last 2 or 3 codes incase the write failed

sick apex
south light
#

Beyond that. Secure as you're getting. You could check the entire history ever for replays and raise an alarm, but you could also just raise an alarm for invalid attempts anyway

sick apex
#

well it will be logged on a web interface

#

on my keys im gunna add some info about the code used

#

and allow me to remove some if i need to

south light
#

There are smarter setups than mifare where there's a lovely MCU in the RFID card too, those can do smarter things

#

Just don't forget to sort out how the thing is powered first

tardy badger
#

I tell ya, how the community I had on twitter fell apart.. that was really sad. Most of them left because the elongated musket. :/ I havenโ€™t been able to recover the community on the various platforms Iโ€™ve attempted to move to

sick apex
#

well i already have the stuff

south light
#

A friend made a DIY lock and it's battery went dead

#

And they didn't provide any way to power it from outside the door

#

Or any mechanical override

#

So had to resort to a destructive entry

sick apex
#

oh i'll just plug it in

#

plus its a magnetic lock

#

so it will unlock if it runs out of power

south light
#

Simplifies things

#

And at least you can turn off the breaker in a pinch

sick apex
#

yeah

raw jasper
tardy badger
#

Makes sense

raw jasper
#

I'm just leaving it there for 24hrs

#

I'll also run a prime95 torture test with an as large as possible memory allocation later to mimic a more "real-world" intensive workflow

raw jasper
tardy badger
#

I mean, you have to have a way to tell people about your mailing list

raw jasper
#

You could advertise it where you sell your boards. Hopefully, if people like the wares, they'll subscribe?

tardy badger
#

Plus Iโ€™m having trouble right now paying for my domain name :/ sales are.. really slow

raw jasper
#

Which TLD is it?

tardy badger
#

.tech

raw jasper
#

Oh.

#

I see.

#

Those.... are expensive

tardy badger
#

$69 a year plus private domain protection

#

Which is usually fine but sales havenโ€™t recovered at all from the chip shortage

#

Understandably, people are not spending as much on hobby stuff with fear of losing employment to layoffs

sick apex
#

i feel bad for people who are "at will"

raw jasper
#

If it helps

tardy badger
#

Not really, I have like $8 in the business account

#

More of a money isnโ€™t there thing. Iโ€™m trying but definitely failing to get things going again.

tardy badger
#

I used to do a few hundred a month in sales, chip shortage shut things down on me and now the economy is hitting peopleโ€™s discretionary spending

raw jasper
#

*nods*

tardy badger
#

Kind of sucks overall. Iโ€™ll keep trucking along as best I can though

raw jasper
#

It is what it is, I guess

spiral ledge
#

Does anyone know any businesses that can assemble and scale custom RGB LED displays? Looking for a company US based that can help with this and I'm pretty lost on where to look.

tardy badger
#

They do contract manufacturing

spiral ledge
#

have you worked with them before?

tardy badger
#

Not directly, theyโ€™ve bought stuff from me before and a number of makers I follow have used them

olive dome
burnt tendon
#

Some images to die for.

raw jasper
raw jasper
#

Can people suggest a good software/workflow for making block diagrams in an as frictionless as possible way?

olive dome
olive dome
raw jasper