Subversion Repositories HomeAutomation

Rev

Rev 1322 | Details | Compare with Previous | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
1311 runge 1
 
2
Build boost
3
===========
4
mkdir boost_build
5
./configure --with-libraries=system,thread,signals,filesystem,serialization,program_options,date_time --prefix=./boost_build
6
make install
7
 
8
 
9
 
10
TODO
11
====
12
* titta mer på xml-en, med responses och in/out
13
* idn för allt är inte med i xml:en, detta gör att en ändring kan göra att man måste kompilera om nån modul och programmera, hade man nån fil där man har idna innan så kan man ta reda på om det skett någon ändring i ett id mellan en uppdatering och isåfall kanske automatisk programmera om den noden
14
* En idé är att tilldela moduler id:n dynamiskt, antingen frågar dom efter ett och ser om nån vägrar eller om man har nån central hantering, detta kunde innebära bättre utnyttjande av id:na (kanske) men framförallt öka portabiliteten på noderna så man kan flytta dom mellan nätverk
15
* Moduler som inte finns js till skall kunna generera en stubbe med metoder för alla in och ut som man sedan kan bygga till på, rena can-meddelanden skall inte skickas från js alls utan allt skall gå via modulernas funktioner upp till sina instanser i c++, datatyperna behöver ha js-motsvarigheter och nån generell variabelklass också, detta behövs i c++ också
16
* Försök köra signal/slot tänket i js också lite mer organiserat än events
17
* Ladda ner xml-filen från nån webserver
18
* Bygga på en remote-location, webservice kanske, så man får tillbaka nått paketformat som man kan programmera noden med
19
* Kunna i ett webinterface se alla noder och styra dom mm
20
* Även kanske ställa in failsafe-logik som kan programmeras som moduler där det baserat på vissa indata kan skickas specifika utdata. Så man tex kan ha så av och på på en touch styr en dimmer även om atom inte är närvarande, kanske en prioriteringsordning på dessa så om man inte får ett heartbeat från nån med högre prioritet så börjar man agera
21
* Bygg ett program som atom kan prata med som sköter källkoden för att bygga för nya noder, denna skall sköta det som modulmanagern gör idag men kanske synka med atom om idn eller så... skall även gå att komma åt som en webservice om man vill det. och på gamla vanliga sättet med make
22
* Boost::Tr1::hashmap
1314 runge 23
* Look att Locale and where we want UTF8 and where it is ascii
24
* Restart js-vm when atom is running to load new versions of js, maybe a persistant store of variables in c++ that lives between js-vm restarts
1322 runge 25
* Ta bort throw new, use references instead?
26
* Implement datatype string
1403 runge 27
* static_cast<>
1311 runge 28
 
1403 runge 29
V8
30
==
31
* snapshot=yes
32
 
33
 
34
Definera vilka pinnar en modul behöver också i xmlfilen och om det är några krav på dom, pwm mm, kanske även vilken defaultpinne dom är på, eller flera om nån är upptagen
35
 
36
Control-interface
37
=================
38
Atom har en socket öppen dit man kan skicka och få information.
39
Tanken är att man här skall kunna interagera med noder, se vilka som är online, vilka metoder dom har, skicka meddelanden etc.. detta blir ett interface mot js-modulerna. Eller/och att man kan skicka meddelanden och tabba fram från protocol-specen.
40
Protokollet skall vara human-readable så det går att bara telneta till socketen och skriva ungefär som SMTP.
41
Det skall finnas en kommandoradsklient som stödjer autocomplete mm för alla funktioner protokollet stödjer, ungefär som mysql-klienten med lite bash inblandat.
42
Det skall även skapas en php-klass för att enkelt prata med control-interfaces så man kan bygga webbgränssnitt enkelt.
43
 
1311 runge 44
TODO - Stage 1
45
==============
46
Status: In progress
47
Goal: Get data from an ethnode printed in a nice format on the monitorsubcribers socket
48
* Complete BitBuffer
49
* Build a protocol.cache, that stores ids
50
* Make MonitorSubscriber do something
51
* Complete CanNet-code
52
 
53
 
54
Bugs
55
====
56
* Ethnoden ändra 18 till 17 i bytesen som skickas