1. How do I do this in Euphoria? Structs and Windows Messages

Is there anyone who can show me how to do this with Euphoria?


Windows Messages.

The communications bridge will accept the WM_COMMAND Windows message
with the following parameters:

WORD parameter (wParam)	Ordinal Value

IDC_REGISTER		300
IDC_UNREGISTER		301
IDC_TXDATA		302

IDC_REGISTER:

This is sent with the LONG parameter (lParam) providing a far pointer
to a REGMESSAGE data structure containing the handle of the window to
notify, the message to transmit and also a WORD identifier to specify
uniquely identify the message.

On receiving the IDC_REGISTER message, the communications bridge will
add the parameters to it's current notification list. Subsequent
reception of X-10 functions will then cause the current device status
to be posted to the registered windows. The LONG parameter of the
posted message will contain a far pointer to an array of bytes
identifying the current device status. This pointer should be copied
to the local memory immediately as it is volatile. 

The array of bytes is segmented into four groups of 256 bytes and a
group of 14 bytes detailing the following information:

typedef struct tagREGMESSAGE
{
	HWND hWnd
	UINT uiMessage
	WPARAM wParam
}REGMESSAGE;


Group 1: 

Lamp brightness level (0 for off, 100 for full brightness and 254 for
an undefined brightness level.

Group 2:

Appliance status (0 for off and 255 for on).

Group 3:

Number of 'On' commands that have been received for the indexed device.

Group 4:

Number of 'Off' commands that have been received for the indexed
device.

Group 5:

14 bytes detailing device specific information received from the
interface.

This data may be expressed in a REGDATA structure.

typedef struct tagREGMESSAGE
{
	BYTE bStatus[4][256]
	BYTE bDeviceData[14]
}REGMESSAGE;


IDC_UNREGISTER:

This message should be sent before the application terminates. The
message must not be posted as the application may terminate before
the message is received causing invalid data to be received.

As for the IDC_REGISTER message, the LONG parameter should contain a
far pointer to a REGMESSAGE structure that defines the application's
parameters.

typedef struct tagREGMESSAGE
{
	HWND hWnd
	UINT uiMessage
	WPARAM wParam
}REGMESSAGE;



IDC_TXDATA:


This message is used to send a command on the power line. 

The LONG parameter of the message may contain a far pointer to a
buffer containing the command that is to be sent, or if the high word
is null, the parameter may contain a command index to cause a
configuration command to be transmitted to the interface.


Thanks to anyone who can help me with this!

new topic     » topic index » view message » categorize

2. Re: How do I do this in Euphoria? Structs and Windows Messages

Please someone who understands C/C++ and Euphoria.

All I need to know is how to create the structures listed in
C code within Euphoria. I know it has something to do with Types.

Then I just need to know How to Send Windows Messages with Euphoria.

Thanks

new topic     » goto parent     » topic index » view message » categorize

3. Re: How do I do this in Euphoria? Structs and Windows Messages

typedef struct tagREGMESSAGE
{
	BYTE bStatus[4][256]
	BYTE bDeviceData[14]
}REGDATA;  }}}
<eucode>--NOT REGMESSAGE</eucode>
{{{


typedef struct tagREGMESSAGE
{
	HWND hWnd
	UINT uiMessage
	WPARAM wParam
}REGMESSAGE;

atom REGDATA, REGMESSAGE

REGDATA = allocate(1038)
REGMESSAGE = allocate(12)


new topic     » goto parent     » topic index » view message » categorize

4. Re: How do I do this in Euphoria? Structs and Windows Messages

Oops, should be;

typedef struct tagREGDATA  }}}
<eucode>--misprint in comm bridge help file</eucode>
{{{

{
	BYTE bStatus[4][256]
	BYTE bDeviceData[14]
}REGDATA;  --NOT REGMESSAGE

typedef struct tagREGMESSAGE
{
	HWND hWnd
	UINT uiMessage
	WPARAM wParam
}REGMESSAGE;


atom REGDATA, REGMESSAGE

REGDATA = allocate(1038)
REGMESSAGE = allocate(12)

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu