10 #include "interpret.h"
13 struct sds sdss
[MAXSDSS
];
18 memset(&sdss
, 0, sizeof(struct sds
)*MAXSDSS
);
21 void sds_register(void)
24 for(cs
= 0; cs
<MAXSDSS
; cs
++)
29 die("Trying to add too much sdss...");
31 memset(&sdss
[cs
], 0, sizeof(struct sds
));
33 sdss
[cs
].id
= read16();
35 sdss
[cs
].value
= read16();
37 debug("Received sds %d: %d", sdss
[cs
].id
, sdss
[cs
].value
);
49 sdss
[cs
].used
= false;
61 for(cs
= 0; cs
<MAXSDSS
; cs
++){
64 if(sdss
[cs
].id
== id
){
66 sdss
[cs
].value
= read16();
67 debug("Received sds update %d: %d",
68 sdss
[cs
].id
, sdss
[cs
].value
);
78 void sds_publish(int id
)
81 for(cs
= 0; cs
<MAXSDSS
; cs
++){
82 if(sdss
[cs
].used
&& sdss
[cs
].id
== id
){
83 debug("Publish %d=%d", sdss
[cs
].id
, sdss
[cs
].value
);
86 write16(sdss
[cs
].value
);
91 debug("SDS identifier unknown: %d", id
);
98 for(cs
= 0; cs
<MAXSDSS
; cs
++)
99 if(sdss
[cs
].used
&& sdss
[cs
].id
== id
)
100 return sdss
[cs
].value
;
101 debug("SDS identifier unknown: %d", id
);
106 void sds_store(int id
, int val
)
109 for(cs
= 0; cs
<MAXSDSS
; cs
++) {
110 if(sdss
[cs
].used
&& sdss
[cs
].id
== id
){
111 sdss
[cs
].value
= val
;
115 debug("SDS identifier unknown: %d", id
);