Scrap Mechanic

Scrap Mechanic

Not enough ratings
Network_Transceiver
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
77.862 KB
2 Nov, 2018 @ 3:21am
3 Nov, 2018 @ 3:36am
4 Change Notes ( view )

Subscribe to download
Network_Transceiver

Description
A fully functional network card for an 8bit
binary network, using just 2 signal lines.

Made with vanilla parts only, over the
course of a week and about 15 prototypes,
by suicidal_banana (suicidal_banana_nl on
steam) feel free to contact me with any
questions you might have! :)

--------------------------------------------------------------

What even is this:
- A 8bit binary sender & receiver in one
- Lets you send around 8bit binary codes
to 8bit binary addresses, using only 2
signal lines :D

Whats new compared to my set of
seperated sender & receiver:
- Includes a basic buffer for when its busy
- Includes a bridge modus where it will
forward packets IF its not a packet for its
own address.

--------------------------------------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

If you use this in a workshop upload or
some sort of media (pic/movie/stream)
then a mention of my nickname somewhere
is required, this was like a week of work,
please give a little credit for my efforts!
Thanks for your understanding, i hope :P
- suicidal_banana

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-------------------------------------------------------------

How to interface with the network card:
- Purple & Pink switches on the left are for
defining what address you want to send
data too.
- Lime & Yellow switches on the left are for
defining what data you want to send to
the address.
- Green button top-left is for sending data
- Blue switch is for enabling bridge modus
- Purple & Pink switches on the right are for
setting the address of this network-card
- The Purple and Lime OR gates at the
bottom-middle-ish of the card are for
the input signals
- The purple and lime OR gates at the
top-left are where you get output signals
- Everything but the bridge modus is
meant to be adressed by other circuits, so
the send button and all 24 switches are
made ontop of OR gates, you can wire
your own logic too these or gates :D

--------------------------------------------------------------

How to connect up multiple cards:
- You can either connect them directly to
each-other in a chain, for that to work
make sure you enable the bridge modus!
Also dont forget that you will likelly want
signals to circle the chain, so that data
from a card halfway up the chain can also
reach the cards before it. If so just connect
the output of the last card to the input of
the first card :D
- Or you can make signal lines (think
telephone wire poles) then connect each
signal-pole near a network card to the
input gates of that card, and then connect
the output of each card to the NEXT signal-
pole. Make sure you do this connecting to
the next one, because you dont want a
network-card to feed data into itself, thats
a waste :P
- Please note that your better option here is
to make the signal-poles, as that means
signals go too all the network-cards at the
same time. Only use bridge modus if
speed isnt important, as that makes it
delay each data-package by something
like 2 seconds for each of the
network-cards, as it passes trough each
of the address checks of each card.

--------------------------------------------------------------

Some more notes:
- While this is compatible with my earlier
uploaded sender & reciever i strongly
suggest not using them together still,
because that old version has a bug with
address 00000000 while this new version
does not!
- Its slightly bigger then my previous set
combined (like 1 row of blocks) but in
return you get a basic buffer that tries to
prevent data loss! :)
- This buffer will only handle one full
data-package though, any more and you
will still lose data, didnt really wanted to
make even more timers lol, should be
fine for most uses though!
- Last but not least, see the below msg.

--------------------------------------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

If you use this in a workshop upload or
some sort of media (pic/movie/stream)
then a mention of my nickname somewhere
is required, this was like a week of work,
please give a little credit for my efforts!
Thanks for your understanding, i hope :P
- suicidal_banana

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-------------------------------------------------------------
20 Comments
pato 12 Jun, 2020 @ 9:12am 
what???
suicidal.banana  [author] 13 Oct, 2019 @ 6:08am 
No offense taken, it IS slow xD

Reason its not listening to the lines at the same time is gate-updates cost time/processing power, so if every card would always be handling every signal shiz would get really laggy real fast once you have 10 or so cards going, this way at least it can decide to 'not listen' to the data signal part of it
bokuwan 13 Oct, 2019 @ 6:02am 
after reading your new description i now understand why the transmission takes - no offense - this long.
i wasn't aware that it uses two way sequencial transmission to transport data in only one direction.


couldn't you then simply -

double the setup to listen to data and adress line simultaneously and ensure packet health by some kind of checksum instead of sending the data afer a "valid" adress was recieved, and not using a header and end to validate integraty

- to speedup communication ?

or was your goal to limit block number ?

well these are only my idears for a concept - currently i could not think of a way how to create the checksum but maybe the workshop holds anything usable or one could port a concept from wikipedia or some other more special wiki or forum to scrap mechanic


suicidal.banana  [author] 13 Oct, 2019 @ 5:29am 
Just add me if you wanna mess around ingame and/or discuss this further, i dont mind playin with mods, its just something i dont do a lot myself, but im very much aware like 80% of the playerbase (if not more) deems at least that modpack a mandatory thing, and most of the time some other stuff too.
suicidal.banana  [author] 13 Oct, 2019 @ 5:27am 
4/4:

- On the data line it once again requires a start signal/package/whatever, after receiving that a counter starts counting to 8 (and it resets any previously stored data)
- During each of the above counting steps it checks if theres a signal coming in at the same time, if so that signal is stored in the card's memory
- Once it receives an end signal/package/whatever it makes the stored data available (i mean its available while its processing too, but theres another row of gates that only starts giving out the binary signal once the whole process is done) and toggles back to listening to the address line.
suicidal.banana  [author] 13 Oct, 2019 @ 5:27am 
3/4:

Re-reading the above description, i guess i never thought about adding a description on how it works, i wanna preface this again with saying its been almost a year, but here goes:

- There are two signal lines, one is used for address, the other is used for data
- Every card pretty much constantly 'listens to' the address signal line (unless its detected that it should be the receiver of something from the data signal line)
- When a card receives a start signal over the address signal line it starts 'playing' a sequence of its own address turned into a binary signal
- This sequence is then compared to the incoming signal, if its an exact match & has an valid ending signal/package/whatever then the card goes into a state of listening to the data line instead of listening to the address line.
suicidal.banana  [author] 13 Oct, 2019 @ 5:27am 
2/4:

Bout the vanilla wireless, i was hoping to use the spud guns to make a wireless setup (not unlike what that guy did with the modpack) but as soon as i've built it i realized why that guy added a new spudgun to the modpack for that very purpose, the vanilla spudgun has too much randomness, potato's can go slightly slower or faster, and since the entire system is based on ticks that could mean 2 signals meant to be one tick apart could become 0 or 2 ticks apart, destroying the actual data it was sending.
suicidal.banana  [author] 13 Oct, 2019 @ 5:27am 
I hate the character limit on these lol
1/4:

Yea theres start and end signals/packets/whatever-to-call-these (from the top of my head i think it sends 3 pulses for the start signal and 2 for the end signal, but not 100% sure about this, its been almost a year since i've made this hehe) reason behind it is so it will be less prone to try do things with messed up data, as if it doesnt get a proper start and end package it will just stop processing the data signal. (and if multiple signals start going over eachother, the start & end signals will instantly get ruined)
bokuwan 13 Oct, 2019 @ 5:15am 
first i thought of using an extra line for the busy signal but i dont't like that.
so it has to be done like in your version where the transciever devides if it can occupy the lines.
whit this concept i see the problem which occurs when the sender automatically stars sending after the line isn't busy anymore and two or more senders waited


anothe issue joining my world in scrap mechanic could be all the mods i use. if installation of some of them isn't an issue for you i'd be happy to welcome you. Maybe the answer to a faster data transmission is allready in my analysation tools
bokuwan 13 Oct, 2019 @ 5:02am 
yes. the "you can't send data right now" signal you have would resemble a "bus is busy" signal i was thinking of.
well i've nothing to show you at the moment , just some demo setup to see how signals are modulated to represent the bits. one with the edited spudnet 2.0 reciever and another seperate setup with your cards. Reagrding your cards i see so many impulses that it makes me wonder if you use start/stop bits to encapsulate the data bits.

if by vanilla wireless you mean the glich where you can delete a piece between two bearings then i strongly advice against it because i've made the experience that every edit after using the glich results in a separation of the logic connection. the edit can be as subtle as painting one part and putting one of the connected parts on a lift will also result in the loss of connection