Added Code::Blocks project for read property demo.

Added value decoding and display for read property demo.
Removed the I-Am at the beginning of read property demo.
This commit is contained in:
skarg
2006-02-09 17:29:47 +00:00
parent be12613766
commit f68780ea5e
3 changed files with 425 additions and 13 deletions
+369
View File
@@ -0,0 +1,369 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="BACnet Read Property Demo"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="2"/>
<Build>
<Target title="default">
<Option output="C:\code\bacnet-stack\demo\readprop\bacrp.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="2"/>
<Option projectResourceIncludeDirsRelation="1"/>
<Compiler>
<Add option="-DBACDL_BIP=1;TSM_ENABLED=1"/>
<Add directory="..\handler"/>
<Add directory="..\object"/>
<Add directory="..\..\..\bacnet-stack"/>
<Add directory="..\..\ports\win32"/>
</Compiler>
<Linker>
<Add library="..\..\..\..\BCC55\Lib\import32.lib"/>
<Add library="..\..\..\..\BCC55\Lib\cw32mt.lib"/>
</Linker>
</Target>
</Build>
<Unit filename="..\..\abort.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\abort.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\address.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\address.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\apdu.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\apdu.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\arf.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\arf.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\awf.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\awf.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bacapp.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bacapp.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bacdcode.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bacdcode.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bacdef.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bacenum.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bacerror.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bacerror.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bacstr.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bacstr.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bactext.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bactext.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bigend.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bigend.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bip.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\bip.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\config.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\datalink.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\datalink.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\client.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\h_iam.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\h_rp.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\h_rp_a.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\h_whois.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\handlers.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\noserv.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\s_rp.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\s_whois.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\txbuf.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\handler\txbuf.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\object\ai.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\object\ai.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\object\ao.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\object\ao.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\object\bacfile.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\object\bacfile.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\object\device.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\object\device.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="readprop.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\filename.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\filename.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\iam.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\iam.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\indtext.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\indtext.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\npdu.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\npdu.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\ports\win32\bip-init.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\reject.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\reject.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\rp.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\rp.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\tsm.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\tsm.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\whois.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\whois.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\wp.c">
<Option compilerVar="CC"/>
<Option target="default"/>
</Unit>
<Unit filename="..\..\wp.h">
<Option compilerVar=""/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>
+11 -13
View File
@@ -71,10 +71,8 @@ static void MyErrorHandler(
/* FIXME: verify src and invoke id */
(void)src;
(void)invoke_id;
printf("\r\nBACnet Error!\r\n");
printf("Error Class: %s\r\n",
bactext_error_class_name(error_class));
printf("Error Code: %s\r\n",
printf("BACnet Error: %s: %s\r\n",
bactext_error_class_name(error_class),
bactext_error_code_name(error_code));
Error_Detected = true;
}
@@ -87,8 +85,7 @@ void MyAbortHandler(
/* FIXME: verify src and invoke id */
(void)src;
(void)invoke_id;
printf("\r\nBACnet Abort!\r\n");
printf("Abort Reason: %s\r\n",
printf("BACnet Abort: %s\r\n",
bactext_abort_reason_name(abort_reason));
Error_Detected = true;
}
@@ -101,15 +98,14 @@ void MyRejectHandler(
/* FIXME: verify src and invoke id */
(void)src;
(void)invoke_id;
printf("\r\nBACnet Reject!\r\n");
printf("Reject Reason: %s\r\n",
printf("BACnet Reject: %s\r\n",
bactext_reject_reason_name(reject_reason));
Error_Detected = true;
}
static void Init_Service_Handlers(void)
{
/* we need to handle who-is
/* we need to handle who-is
to support dynamic device binding to us */
apdu_set_unconfirmed_handler(
SERVICE_UNCONFIRMED_WHO_IS,
@@ -147,12 +143,12 @@ int main(int argc, char *argv[])
unsigned timeout = 100; // milliseconds
unsigned max_apdu = 0;
time_t elapsed_seconds = 0;
time_t last_seconds = 0;
time_t last_seconds = 0;
time_t current_seconds = 0;
time_t timeout_seconds = 0;
uint8_t invoke_id = 0;
bool found = false;
if (argc < 5)
{
printf("%s device-instance object-type object-instance property [index]\r\n",
@@ -190,7 +186,7 @@ int main(int argc, char *argv[])
Target_Object_Property,MAX_BACNET_PROPERTY_ID+1);
return 1;
}
/* setup my info */
Device_Set_Object_Instance_Number(BACNET_MAX_INSTANCE);
address_init();
@@ -204,6 +200,8 @@ int main(int argc, char *argv[])
last_seconds = time(NULL);
timeout_seconds = (Device_APDU_Timeout() / 1000) *
Device_Number_Of_APDU_Retries();
/* no need to spam the world */
I_Am_Request = false;
/* try to bind with the device */
Send_WhoIs(Target_Device_Object_Instance,Target_Device_Object_Instance);
/* loop forever */
@@ -246,7 +244,7 @@ int main(int argc, char *argv[])
&Target_Address);
if (found)
{
if (invoke_id == 0)
if (invoke_id == 0)
{
invoke_id = Send_Read_Property_Request(
Target_Device_Object_Instance,