Wpis z mikrobloga

#programowanie #quadcopter #technologia #projekt Zanim dojdą części konstrukcyjne/elektryczne..

Log.d("Quadcopter-MainActivity", "Creating Quadcopter class, init()");

quadcopter = new Quadcopter(this);

quadcopter.init();

Log.d("Quadcopter-MainActivity", "Registering modules..");

quadcopter.registerModule(new ConnectionModule(quadcopter));

quadcopter.registerModule(new TickerModule(quadcopter));

quadcopter.registerModule(new CameraModule(quadcopter));

quadcopter.registerModule(new SensorModule(quadcopter));

quadcopter.registerModule(new StatusExchangeModule(quadcopter));

quadcopter.registerModule(new DisplayModule(quadcopter));

quadcopter.registerModule(new ControlModule(quadcopter));

quadcopter.registerModule(new BluetoothModule(quadcopter));

quadcopter.registerModule(new StatusControllerModule(quadcopter));

Log.d("Quadcopter-MainActivity", "Last module registered");
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pret0rian8: Projekt szkolny de facto.. Napisałem sterownik do telefonu który będzie leżał w tym quadcopterze, teraz czekam na części z których będziemy robić konstrukcję. Głównie rurki węglowe, rowing i klej do tego :p Resztę kupi się jak będzie potrzeba.

Jak skończę to na pewno zagości na wykopie.
  • Odpowiedz
@Yahoo_: nie musi.. ale IMO dobra i często stosowana praktyka, ażeby moduł czekał aż coś go zainicjuje, a nie robił wszystko w konstruktorze
  • Odpowiedz
@Visher: To, że konstruktory powinny być lekkie - pełna zgoda. Natomiast metody init() nie nazwałbym do końca dobrą praktyką... Ciężko się testuje taki obiekt, bo w inicie masz jakąś "ciężką robotę" (dlatego to przeniosłeś z konstruktora), której nie możesz zmockować.
  • Odpowiedz
nie musi.. ale IMO dobra i często stosowana praktyka, ażeby moduł czekał aż coś go zainicjuje, a nie robił wszystko w konstruktorze


@Visher: Sterowanie quadem będzie raczej systemem o ostrych wymaganiach czasowych. Pozostawianie init() w środku kodu, który zajmie czas procesora w losowym miejscu (i czy na pewno wtedy wystarczy zasobów?) jest bardzo złym pomysłem. Tak samo jak używanie new i delete doprowadzi w końcu do fragmentacji (niekoniecznie wycieku) pamięci.
  • Odpowiedz
@Analityk: Sterowaniem sterownikami prędkości będzie zajmowała się atmega, która będzie przez BT otrzymywać sygnały. De facto init() może być wywołane ponownie tylko w przypadku zerwania tego połączenia.. Do tego kod jest wielowątkowy, więc niezależnie wykonywane są obliczenia, komunikacja czy inne.

No ale też rozumiem, że muszę się pilnować i dzięki.
  • Odpowiedz