Subversion Repositories HomeAutomation

Rev

Rev 997 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 997 Rev 1008
Line 4... Line 4...
4
CanOfflineTimer = new Interval(offlineCheck, 10000);
4
CanOfflineTimer = new Interval(offlineCheck, 10000);
-
 
5
CanProgrammingNode = null;
5
 
6
 
6
function handleNMTMessage(className, commandName, data)
7
function handleNMTMessage(className, commandName, data)
7
{
8
{
8
    var canMessage = new CanNMTMessage(className, commandName, data);
9
    var canMessage = new CanNMTMessage(className, commandName, data);
9
 
10
 
10
    switch (canMessage.getCommandName())
11
    switch (canMessage.getCommandName())
11
    {
12
    {
12
    case "Reset":
13
    case "Reset":
-
 
14
    // Someone sent a reset command... should we do something?
13
    break;
15
    break;
14
   
16
   
15
    case "Bios_Start":
17
    case "Bios_Start":
-
 
18
    var node = CanNodes[canMessage.getData("HardwareId")];
-
 
19
   
-
 
20
    if (!node)
-
 
21
    {
-
 
22
        log("A can node with hardware id " + uint2hex(canMessage.getData("HardwareId"), 32) + " was not found, starting.\n");
-
 
23
        node = new CanNode(canMessage.getData("HardwareId"), null);
-
 
24
        CanNodes[canMessage.getData("HardwareId")] = node;
-
 
25
    }
-
 
26
   
-
 
27
    node.handleBiosStart(canMessage.getData("BiosVersion"), canMessage.getData("HasApplication"));
16
    break;
28
    break;
17
   
29
   
18
    case "Pgm_Start":
30
    case "Pgm_Start":
-
 
31
    // Someone sent a programming start command... should we do something?
19
    break;
32
    break;
20
   
33
   
21
    case "Pgm_Data":
34
    case "Pgm_Data":
-
 
35
    // Someone sent a programming data command... should we do something?
22
    break;
36
    break;
23
   
37
   
24
    case "Pgm_End":
38
    case "Pgm_End":
-
 
39
    // Someone sent a programming end command... should we do something?
25
    break;
40
    break;
26
   
41
   
27
    case "Pgm_Copy":
42
    case "Pgm_Copy":
-
 
43
    // Someone sent a programming copy command... should we do something?
28
    break;
44
    break;
29
   
45
   
30
    case "Pgm_Ack":
46
    case "Pgm_Ack":
-
 
47
    if (CanProgrammingNode)
-
 
48
    {
-
 
49
        CanProgrammingNode.handleAck(canMessage.getData("Data"));
-
 
50
    }
-
 
51
    //else
-
 
52
    //{
-
 
53
        // A node sent pgm ack but we are not in the progress of programming, probably to someone else
-
 
54
    //}
31
    break;
55
    break;
32
   
56
   
33
    case "Pgm_Nack":
57
    case "Pgm_Nack":
-
 
58
    // I do not now what this is for...
34
    break;
59
    break;
35
   
60
   
36
    case "Start_App":
61
    case "Start_App":
-
 
62
    // Someone sent a app start command... should we do something?
37
    break;
63
    break;
38
   
64
   
39
    case "App_Start":
65
    case "App_Start":
-
 
66
    var node = CanNodes[canMessage.getData("HardwareId")];
-
 
67
   
-
 
68
    if (!node)
-
 
69
    {
-
 
70
        log("A can node with hardware id " + uint2hex(canMessage.getData("HardwareId"), 32) + " was not found, starting.\n");
-
 
71
        node = new CanNode(canMessage.getData("HardwareId"), null);
-
 
72
        CanNodes[canMessage.getData("HardwareId")] = node;
-
 
73
    }
-
 
74
   
-
 
75
    node.handleHeartbeat();
40
    break;
76
    break;
41
   
77
   
42
    case "Heartbeat":
78
    case "Heartbeat":
43
    var node = CanNodes[canMessage.getData("HardwareId")];
79
    var node = CanNodes[canMessage.getData("HardwareId")];
44
   
80