Ocena wątku:
  • 1 głosów - średnia: 5
  • 1
  • 2
  • 3
  • 4
  • 5
Rozwiązane Wpisywanie wartosci zmiennych do EEPROM za pomoca Bash
#1
0
Witam!

Posiadam komputer z linuxem, w ktorym za pomoca komendy w bash moge np odwrocic ekran na monitorze do gory nogami.
Instrucja wyglada tak:

rt_mailbox eeprom_write video1_rotate 3, gdzie "video1_rotate" to zmienna, a "3" to wartosc zmiennej (ktora ma ta zmienna przyjac).

Jezeli mam 10 zmiennych do zmiany, to 10 razy musze pisac to całe: "rt_mailbox ..... "parametr" "wartosc parametru" i za kazdym razem zatwierdzic escapem, by zmienna została wpisana do pamieci. Jako wynik udanej operacji za kazdym razem pojawia sie na ekranie: "Ok."

Mecze sie nad skryptem w bashu, dzieki ktoremu moglbym uruchomic skrypt i wszystkie parametry zostałyby wpisane za jednym razem.

Pomozcie prosze, bo nie jestem niestety informatykiem, a mecze sie z tym juz 2 dni.


Pozdrawiam i zycze udanego dnia!
#2
0
Proszę pokazać ten skrypt, nieważne w jakim jest stanie.
Proszę też szerzej opisać jaki jest cel obracania tego ekranu.
#3
0
Wiem, ze w linux nie ma komedy "do", ale chciałbym, zeby ten skrypt wykonywał wszystkie te linie sam - bez potrzeby pisania całego wiersza i zatwierdzania "enterem". Chodzi po prostu o przypisanie odpowiednich wartosci do "zmiennych" (ktore maja jednak stala wartosc)
A z tym obracaniem ekranu, to był tylko przykład "zmiennej", ktorej chce nadac konkretna i jedna wartosc.

#! bin/bash

do
rt_mailbox eeprom_write video1_rotate=3
rt_mailbox eeprom_write sdvoBlmode=1
rt_mailbox eeprom_write itemNr=1471372
rt_mailbox eeprom_write prodDate=200118
rt_mailbox eeprom_write testDate=20019
...
#4
0
Już sam początek skryptu jest zły bo ma być #!/bin/bash bez spacji za wykrzyknikiem.
Z tego co widzę to ma programować jakieś układy eeprom urządzeń z jakimś wyświetlaczem.
Dziwne to i niezrozumiałe i podejrzane jest dla mnie to całe zadanie.

Pobaw się programem autoexpect
Literatura:
https://likegeeks.com/expect-command/
https://linux.die.net/man/1/autoexpect

Chyba, że wystarczy, że bash będzie wypisywał komendy, a tobie pozostanie zatwierdzanie tego klawiszem esc to wtedy bash powinien wystarczyć.
#5
0
Drogi Administratorze dedito...
Mowisz ze, ze bash powinien wystarczyc, gdy bede miał zatwierdzac te komendy tylko klawiszem esc...
Podejrzewam, ze ten cały skrypt to kilka linii programu.
Mogłbys mi ten skripcik napisac, albo chociaz pokazac jak powinna wygladac kluczowa dla mnie linia? Pliiiz
#6
0
Spróbuj go napisać samodzielnie, wolę dawać wędkę niż rybkę.
Tak niczego się nie nauczysz.
A jak nie chcesz się uczyć to zleć komuś napisanie skryptu.
Mi to pachnie jakimś zadaniem szkolnym, ogólnie jakoś podejrzanie to wszystko jest i nie chcę tu się więcej udzielać.
#7
0
:/
To nie jest zadanie szkolne - potrzebuje tego w pracy, ale ok, rozumiem. Dzieki.
#8
0
Jak do pracy to te zmienne i tak trzeba chyba zmieniać przy każdym egzemplarzu, może nie date produccji i test, ale itemNr raczej tak:
rt_mailbox eeprom_write itemNr=1471372
rt_mailbox eeprom_write prodDate=200118
rt_mailbox eeprom_write testDate=20019
#9
0
Tak, masz racje, ale gdy robimy czasem 10 czy 20 egzemplarzy, to głupio jest tak ciagle wpisywac te rt_mailbox...... Smile
Do tej pory tak tu robiono, ale wpadłem na to, ze moze mozna inaczej - łatwiej, szybciej. Smile Problem jest taki, ze nie jestem informatykiem lecz elektronikiem...
#10
0
Tego nie musisz wpisywać ponownie.
Możesz przywołać ostatnie polecenie klawiszem strzałki do góry.
Ile razy naciśniesz klawisz strzałki do góry tyle razy się cofniesz w historii poleceń.
A testowo sobie odpal takie polecenie: rt_mailbox eeprom_write video1_rotate=3 | rt_mailbox eeprom_write sdvoBlmode=1 i sprawdź czy przejdą te dwa parametry.
Jak przejdą z tego polecenia to i w skrypcie powinny zadziałać hurtowo.
No i skrypt można rozbudować o automatykę numerów fabrycznych i dat.
Aż dziwne, że nie macie takich narzędzi, to co teraz robicie po trochu przypomina manufakturę rodem ze średniowiecza.


Skocz do:




Użytkownicy przeglądający ten wątek: 1 gości