Elektronika w samochodzie

Ostatnio dobrałem się do samochodu brata (gdyż on chwilowo [a może i nie chwilowo] jeździ innym) i postanowiłem dokonać drobnych napraw związanych z elektrycznością w środku.

Brat utrzymywał, że gdzieś w samochodzie było spięcie i dlatego też nie wymienił bezpiecznika ponieważ i tak by się zaraz przepalił. Postanowiłem to sprawdzić - w końcu w całym samochodzie jest raczej niewiele kabli w porównaniu do tych za deską rozdzielczą i koło radia i zapalniczki. Rozłożyłem więc 3/4 przodu aby mieć w miarę swobodny dostęp do kabli i co zobaczyłem? Wesoło dyndające niezaizolowane kable wszelkiej maści. Dlaczego więc brat mówił że spięcie jest gdzie indziej? Chyba nigdy się nie dowiem. Po odizolowaniu kabli od siebie okazało się, że nagle bezpiecznik przestał się przepalać i wszystko zaczęło działać.

Skoro już udało mi się wielkim nakładem pracy sprawić aby do kabiny popłynął prąd to pomyślałem, że może uda mi się wykombinować coś z radiem. Powstaje pytanie - a co z nim? Otóż w samochodzie tym radio było włożone tylko po to żeby zakryło dziurę, która powstałaby po jego wyjęciu. Chociaż nie wiem co jest gorsze - zwykła dziura po radiu czy przerażający panel radia bez niektórych przycisków…

Tak czy inaczej wiedziałem, że w domu jest jeszcze jedno radio: Blaupunkt Boston CC20. Radio mające chyba tyle lat co ja ;) Potrafi tylko odbierać stacje i odtwarzać kasety. Ale to już wystarczy. Można przecież kupić kasety z kabelkiem które można podłączyć do MP3 czy odtwarzacza CD. Problem z tym radiem jest taki że jest ono zabezpieczone kodem, który oczywiście posiadam, ale nie wiem którym przyciskiem się go zatwierdza ;) Po błędnym wpisaniu kodu radio blokuje się na dość długi czas i musi być stale pod napięciem.

Zabezpieczenie kodem przed kradzieżą jest dobrym pomysłem o ile radio jest jeszcze coś warte. Prawdopodobnie teraz tego radia już nikt nie bedzie potrzebował i nikt go nie kupi zatem nie ma potrzeby go kraść.

Na szczęście są sposoby na zmianę kodu, a nawet jego usunięcie tak aby radio włączało się bez zapytania. Problem polega na tym, że do tego potrzebny jest programator EPROM. Takiego urządzenia nie mam więc pozostaje mi udać się z tym do fachowców i zapłacić kilka złotych.

Pytanie tylko czy nie kupię w tej cenie jakiegoś innego przedwojennego radia ^^

Nowa zabawka

Ostatnio niewiele czasu mogłem poświęcać swoim ulubionym zajęciom ponieważ ciągnęła mi się w nieskończoność sesja… Niestety nie wszystko udało się pokonać za pierwszym razem i spotkam się z 2 profesorami ponownie ;) Ale nie o tym chciałem pisać!

Chciałem napisać o tym, że od wczoraj ( tj. 12.07.08 ) jestem posiadaczem Sony Ericsson’a K800i - mojej nowej zabaweczki ^^

Najbardziej interesującym mnie featurem nowego sprzętu jest “Zdalne Sterowanie” przez Bluetooth. Jest to chyba standardowa opcja nowszych telefonów SE. Pozwala ona sterować zdalnie (jakby trudno było się domyślić) przeróżnymi urządzeniami, które obsługują HID (Human Interface Device).

Standardowo w SE są 3 możliwości obsługi PC (działające oczywiście w Windows)

  • Desktop - możemy kontrolować ruch myszki
  • MediaPlayer - kontrolujemy Windows Media Player
  • Presenter - możemy kontrolować wyświetlanie prezentacji (pewnie w MS PP)

Teraz pójdę się pobawić nową zabawką i Ubuntu i zobaczymy co z tego wyniknie ;)

Egzamin drugi - Algebra

Kolejny egzamin z głowy - przynajmniej póki co ;)

Prawdę mówiąc Algebra Liniowa z Geometrią Analityczną to przedmiot, który najbardziej przypadł mi do gustu w tym semestrze. Właściwie nic w tym dziwnego. Jako “programista gier” (choć napisałem może z jedną czy dwie) widzę zastosowanie tych rzeczy i nietrudno jest to pojąć.

Nie mogę tego powiedzieć niestety o Analizie Matematycznej… Ten egzamin wypada jednak na końcu a do tego czasu trzeba się cieszyć chwilą (czyt.: uczyć do egzaminu z Matematyki Dyskretnej).

Pierwszy Egzamin

Dziś będę miał pierwszy (z pięciu) egzamin w drugiej sesji pierwszego roku.

Przedmiot: Systemy Operacyjne
Charakterystyka: Strasznie nudna pamięciówka ;)

Czek

Po prostu musiałem się tym podzielić :)

Nokia E50 i Ubuntu

Jakiś czas temu głowiłem się nad tym jak podłączyć moją nokię E50 do komputera tak aby móc chociaż pooglądać na nim pliki. Nie znalazłem rozwiązania. Dzisiaj jednak podczas przeglądania opcji mojego telefonu znalazłem to czego szukałem.

Wystarczy w telefonie zmienić typ połączenia z PC Suite na Transfer danych. Aby to zrobić należy wybrać Menu->Łącza->Kabel Danych i tam dokonać wspomnianej zmiany.

Po tej operacji kiedy podłączyłem telefon przez kabel do komputera był wykrywany jak zwykły pendrive. Warto też pamiętać o tym, że w takim wypadku trzeba go również odmontować jak zwykły pendrive ;)

Potyczki Algorytmiczne

Zawsze gardziłem konkursami algorytmicznymi, ponieważ uważałem, że mają niewiele wspólnego z samym programowaniem, które jest mi bardzo drogie :) Jednakże znajomi z roku namówili mnie abym wziął udział w Potyczkach Algorytmicznych. Po kilku pierwszych rundach wnioski mam dwa:

  • nadal uważam, że część wspólna algorytmiki i programowania jest dosc niewielka…
  • …ale udział w takim konkursie to fajna zabawa :)

Największym problemem dla początkującego w takich konkursach jest wejście w świat algorytmów. Nigdy nie bylem ich fanem więc i nie znałem ich za dużo. W takich konkursach warto jest znać dużo algorytmów ponieważ zadania często każą zmodyfikować już istniejący algorytm. Liczy się praktyka.

Najbardziej jednak podoba mi się to, że nikogo nie obchodzi jak doszedłem do tego, że mój kod działa. Nie trzeba żadnych dowodów i innych kubków na herbatę, aby program przeszedł. Jedynymi wyznacznikami są poprawność wyniku i zmieszczenie się w czasie i pamięci.

Dodatkowo napisanie działającego szybko algorytmu po dłuższym czasie przemyśleń związanych z tematem przysparza prawie tyle radości co samo programowanie. Właściwie to po przemyśleniach kartka i ołówek ustępują miejsca umiejętności zakodowania algorytmu dla jak najlepszej wydajności.

Powszechnie wiadomo przecież, że rząd złożoności służy jedynie do klasyfikacji algorytmów, która nie daje nam żadnego pojęcia na temat szybkości faktycznego wykonania dobrze napisanego algorytmu.

Podsumowując tą znowu-za-długą notkę: zabawa z algorytmami też daje dużo radości. Dlatego też polecam wszystkim udział w konkursach tego typu.

Link do konkursu o którym mówię: http://konkurs.adb.pl/
Istnieje również http://opss.safo.biz/ na którym również są czasem organizowane zawody, ale tutaj dodatkowo istnieją Zawody Stałe, w które faktycznie ciężko nazwać zawodami, ale zawsze można sobie jakiś algorytm rozwiązać :)

Virtual Serial Podrt Driver na ratunek!

Znalazłem wirtualny sterownik dla portów szeregowych i okazało się, że działa całkiem dobrze :) DosBOX otwiera go bez najmniejszych problemów. Program czytający dane z /dev/input/mice też otworzył go bez problemu. Po krótce - moje starania nie poszły na marnę.

Uruchomiłem więc czym prędzej The Settlers 2 i włączyłem grę na 2 graczy. Przepisywanie danych oczywiście działa bez zarzutu jednak niespecjalnie tak jakbym tego chciał ;) Myszka drugiego gracza w S2 zaczęła się poruszać bardzo chaotycznie.

Przypuszczam, że problemem jest inne kodowanie danych myszy USB oraz COM więc będę musiał coś wymyślić. Wie ktoś może jak wygląda takie kodowanie dla myszy na COM oraz myszy na USB? Znając format danych bez problemu mógłbym napisać programik który robi co trzeba…

Gdyby ktoś wiedział proszę o informacje, a sam w tym czasie poszperam w Google ;)

Napisane w Bez Kategorii. Tagi: . Komentarzy: 2 »

AGE ShowCode ^^

Do tej pory właściwie nie pokazałem ani kawałka kodu przykładowego użycia AGE, a przypuszczam, że byłaby to w jakimś sensie reklama ;) Dlatego też postanowiłem zademonstrować jak wygląda przykładowy kod służący do wczytania zasobów z dysku, stworzeniu sprite’a i wyświetleniu go na ekranie.

Mam nadzieję, że kod jest wystarczająco skomentowany, żeby nie było wątpliwości co robi dana część ^^

#include <age.hpp>

#pragma comment( lib, "age_d.lib" )

class ageMain : public ageTask
{
	ageSprite sprite;
public:
	// konstruktor ustawia nazwe zadania
	ageMain(): ageTask("main") {}

	void init()
	{
		// wczytanie tekstury wczesniej zaladowanej
		// przez loadResources("data/rest.txt")
		sprite.setTexture( age::getTexture("spriteTexture") );
		// ustawia hotspot obrazka na srodek
		sprite.setHotspot( HS_CENTER );
	}

	void exec()
	{
		// wyswietl sprite'a na pozycji [100,100] w kolorze zielonym
		// obroconego wokol Hotspotu o 2 radiany i powiekszonego 4 razy
		sprite.draw( ageVector( 100, 100 ), 0xFF00FF00, 2.0f, 4 );
	}
};

int main()
{
	if( age::init( AGE_INIT_VIDEO | AGE_LOG ) )
	{
		// zaladuj zasoby
		age::getResManager()->loadResources("data/res.txt");
		// dodaj nowe zadanie
		age::getTaskManager()->addTask( new ageMain );
		// wejdz do petli glownej
		age::mainLoop();
	}
	return 0;
}
Napisane w Bez Kategorii. Tagi: . Komentarzy: 5 »

Po świętach

No i po świętach. Teraz tylko sylwester i znów do roboty ^^

Zapewne zauważyliście (zwłaszcza Xion [pewnie z radością :P ] ), że ostatnio niewiele pisałem. No ale w końcu były święta prawda? Czas radości i w ogóle… Albo po prostu wielkie sprzątanie z finałem przy stole.

Teraz ciężko mi jest jakoś wrócić do kodu. Nie mogę się skupić. Na dodatek znów dorwałem Ultimę Online w swoje łapy ^^’. To straszne jak ta gra uzależnia, ale to tylko jeśli gra się na dobrym serwerze - w innym wypadku można szybko się znudzić.

To tyle - chciałem napisać tylko, że jeszcze żyję i nie ma mnie dlatego, że gram w UO oraz HoM&M 3  :P