Search the Community
Showing results for tags 'eeprom'.
Found 12 results
The world as I knew it had a problem. A plenty of bootloaders had already existed, and they'd all shared the same flaw: it wasn't me who made them. I've decided to put an end to that. Cyan is a multi-bootloader and a replacement for the plain Lua BIOS. The features it encompasses include: a whitelist to prevent random strangers from tampering with the computer a Lua interpreter to test your sudden ideas support for hot-plugging filesystems if you've forgot to insert a floppy the ability to format or label a filesystem, while we're at it loading the boot payload from the internet when you can't afford an HDD and a gorgeous, minimalistic design Pictures: To install on OpenOS, run the following: wget -fq https://raw.githubusercontent.com/BrightYC/Cyan/master/installer.lua && installer.lua Or, if you're a MineOS user, look for the program (bearing the same name) at your local AppMarket. Here's how the whitelist works. You add trusted users to the list when the installer asks you. Then the bootloader will ignore any signals from other people. That's it. Oh, and you can also choose a less restrictive option: the Cyan BIOS can wait for input from a trusted user. Before that an authorized person can't access the bootloader. Lastly, a couple of words about the Lua interpreter. It doesn't wrap the output, and the input command must be less than the screen width. The last restriction can be circumvented by copy-pasting the command. In addition to that, the bootloader defines the following functions: os.sleep([timeout: number]) proxy(componentName: string): table or nil — returns a component proxy by its name (cf. component.proxy, which takes an address) read(lastInput: string or nil): string or nil — a primitive io.read() print(...) The source code for the curious: https://github.com/BrightYC/Cyan P. S. Big thanks to @Fingercomp for his lecture about string escapes and writing this text.
Drone Tree Farmer - Introduction - This is an automatic tree farmer script for drones harvesting spruce wood in king size (2x2). Just place a chest next to the drone and 8 or more saplings in the first slot and it should be be able to go on forever. No coal is needed, no charge pads, the solar panel upgrade will power the drone. This is not the fastest way to get wood, but it's pretty cheap, easy setup and doesn't need maintenance. Built for: OpenComputers-MC1.10.2-220.127.116.11, Lua 5.2. Also works on OpenComputers-MC1.7.10-18.104.22.168-universal, Lua 5.2, other than the beep sound is weird. Should work for newer versions too! - Requirements - * A working computer of any tier, to flash EEPROMs. * A drone (tier 1) with: cpu, ram, solar and inventory upgrade. * 8 or more Spruce saplings. Jungle trees are partly supported, it could work but branches will be left alone. * A chest or similar is recommended. * An empty EEPROM. - Usage - Part A - Flashing 1. Start up a computer with an internet card in it. 2. Replace the Lua EEPROM with an empty one. 3. Right click the computer screen and type (or paste): pastebin get kSjuz992 bios && flash bios 4. Follow the instructions and when done - take out your newly flashed EEPROM. Part B - Making the drone 1. Grab a Drone Case Tier 1 and place it in the Assembler. 2. Add T1 cpu, ram, solar upgrade and inventory upgrade. 3. Add the flashed EEPROM. (You can also change roms later if you want) 4. Assemble away! Part C - Actual work. 1. Find a flat area of dirt or grass. Remove any tall grass. 2. Place the drone so it got at least 10 blocks to the WEST of it. (Press F3 to find out where west is.) 3. Place a chest next to the drone, NORTHERN side (again F3 to find out). 4. Place 8 or more spruce saplings in the top left slot. 5. Start the drone. It should say ROM OK and get to work. 6. Grab a cup of Joe to celebrate. Source code: https://pastebin.com/kSjuz992 Disclaimer: This is my first lua script that I ever release so my code is far from good. Also, I am not a programmer, just started with this. This also got a lot of debug code in it, lack of loops, extra sleeps and what not. Thanks to irc chat for the sleep function!
So, basically I'm trying to do this thing where I have a microcontroller and I want it always receiving, and when it receives a certain message, I want it to output redstone. I've got all the right components, and it doesn't crash on boot, but when it receives a message, it crashes. The code is simple, and yes I'm doing the component.proxy() thing. Full code: local modem = component.proxy(component.list("modem")()) local redstone = component.proxy(component.list("redstone")()) modem.open(123) local name, _, from, port, _, message = computer.pullSignal("modem_message") if message == "hi" then redstone.setOutput(1,10) else redstone.setOutput(1,0) end
I've been working on robots that don't have interfaces - and instead commune by wireless means. Part of programming these robots has involved writing on an EEPROM My problem lies with getting certain APIs. I've previously encountered things such as modem = component.proxy(component.list("modem")()) to get to an API, but FileSystem doesn't work this way. The program here (ran on a computer) wouldn't work as I put fs = require("component").filesystem Where I should have put fs = require("filesystem") If I make this change, the program works. But if I comment out the require statements, uncomment the proxy statements, write to an EEPROM and then insert into a robot, it doesn't work over there. So what's the BIOS way to get the filesystem API? (If you're wondering, the program is a recursive function designed to inform other devices of what's on the robot's filesystem)
Okay, I just spent a couple of days gathering enough materials on a server in order to build a tablet with all the best components. Near when I was finished, however, I had to finish it quickly, and started making it, while not quite understanding how to make the flashed EEPROM since it wasn't in the recipe book but thinking I did because I put an EEPROM in my crafting bench and another, presumably flashed, came out. I tried to stop the assembler mid-way, however, as I was a bit scared I had made a mistake, but I couldn't. Now I have a 6 diamond brick... Does anyone know how I can make this tablet NOT a brick? I have tried testing on my local world and I can't seem to turn it into a flashed tablet...
Description: I am wanting to use unmanaged drives more but need a file system like driver for it and a bios for an eeprom that is not based on OpenOS Devfs Function: I would like basic file management e.g. read, write, move and delete files (directories are optional) as well as an loader program that loads a file from OpenOS to the drive (this is optional) and a small bios for an eeprom to load a file like the default lua bios where it loads init.lua or autorun.lua ( again optional) Deadline: I'm not too fussed, I would appreciate it as soon as possible but I am aware this is might be on the large side for a request. Additional Information: Simply ask me if you have other questions. Thanks in advance!
Introduction imagine you are programming a drone or a microcontroller... And then you are hitting the EEPROM limits - 4KiB isn't a lot of space. Now you could start writing ugly code but there is a better solution: Crunch! Crunch is a program that compresses Lua source files. Depending on the input file size and the amount of memory available it is able to utilize a variety of methods to keep the output size small. That is starting with simple token based whitespace reduction and reaching to full parsing and scoping rules to replace local variables with shorter names. For even better compression it is also able to do a kind of lossy compression when replacing long globals with short local variables. When using crunch you can focus on a more commented and nice looking code instead of worrying too much about keeping names short. Even code that has been written with being small in mind can profit from it: Skex has been reduced from 3990 bytes to 2357 bytes. More than 40% reduction! Man Page Depencencies Software All required libraries are included in the download. Hardware RAM: min. 512 KiB1, recommended: 1 MiB for small files, 2 MiB for big files2 Note 1: That needs removing the library "parser.lualr" from file system and only allows token based compression. Note 2: Full parsing is quite demanding because it is using bottom up parsing which requires the whole tree structure to be in memory. Installation Simply download the tar archive and extract it into the root directory. All files should then be there where they should be. Download (last update: 13.04.17) github Ingame: cd / wget 'https://raw.githubusercontent.com/mpmxyz/ocprograms/master/tars/crunch.tar' tar -xf crunch.tar OR oppm install crunch Known Issues The 'lossy' global-to-local compression cannot be used if a global variable is used with side effects to other files. Blacklist those globals to avoid errors. (example: "--blacklist=require" when compressing the default "Lua BIOS")
I am building an OS and i am not going to use the filesystem library. I am going to write my own filesystem for unmanaged drives. To boot i need to be able to run programs. The default libraries will not support my custom filesystem how can i run programs? Is is possible to compile and run a string as a program using EEPROM accessible libraries?
Hi! Here is key button receiver code: type, _, char, _ = computer.pullSignal() --Receiving input while true do if type = "key_up" then print(char) end end And here is problem: when I dont touch keyboard it prints 116
So recently I installed OpenComputers because I thought it was cool, and to start a computer, a EEPROM containing a Lua BIOS is needed. i tried using both of the ones in the mod (EEPROM, EEPROM (Lua BIOS)) How do I program the EEPROM? I googled everything and none helped or was related to this topic... I probably sound like a total noob but i need to know how to get my computer running. thx
With this eeprom you can send the drone any lua command via network message in port 123 and it will execute it and send the response as a broadcast in the same port (if there's no response you'll get a bunch of nil) local m = component.proxy(component.list("modem")()) m.open(123) local typ local data while true do while typ ~= "modem_message" do typ,_,_,_,_,data = computer.pullSignal() end local f = assert(load(data)) w,x,y,z = f() m.broadcast(123, w,x,y,z) typ = nil f = nil end