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
);
47 for(cs
= 0; cs
<MAXSDSS
; cs
++){
50 if(sdss
[cs
].id
== id
){
52 sdss
[cs
].value
= read16();
53 debug("Received sds update %d: %d",
54 sdss
[cs
].id
, sdss
[cs
].value
);
61 void sds_publish(int id
)
64 for(cs
= 0; cs
<MAXSDSS
; cs
++){
65 if(sdss
[cs
].used
&& sdss
[cs
].id
== id
){
66 debug("Publish %d=%d", sdss
[cs
].id
, sdss
[cs
].value
);
69 write_byte(sdss
[cs
].id
);
70 write_byte(sdss
[cs
].value
/265);
71 write_byte(sdss
[cs
].value
%265);
75 debug("SDS identifier unknown: %d", id
);
81 for(cs
= 0; cs
<MAXSDSS
; cs
++)
82 if(sdss
[cs
].used
&& sdss
[cs
].id
== id
)
83 return sdss
[cs
].value
;
84 debug("SDS identifier unknown: %d", id
);
88 void sds_store(int id
, int val
)
91 for(cs
= 0; cs
<MAXSDSS
; cs
++) {
92 if(sdss
[cs
].used
&& sdss
[cs
].id
== id
){
97 debug("SDS identifier unknown: %d", id
);