Hi,

Whenever I send "SERIAL=+" to proc/empeg_notify, only a space is copied to the serial port (as seen in Hyperterminal in Windows XP). Most other serial commands work, such as sending "SERIAL=-", which copies a minus sign to the serial port and lowers the volume. "SERIAL=x" does get copied to the serial port, but the volume is not changed.

Is this a bug, or is the "+" sign something special in Linux?

I am doing this by calling DoSerialCmd("+");

int DoSerialCmd(const char* szCmd)
{ FILE *fs_EmpegNotify=NULL;
fs_EmpegNotify = fopen("/proc/empeg_notify", "a");

if(NULL==fs_EmpegNotify)
{ DEBUGF("could not open empeg_notify to receive serial commands");
return 0;
}

fprintf(fs_EmpegNotify,"SERIAL=%s\n",szCmd);
fclose(fs_EmpegNotify);

return 1;

}

If I type "+" directly in the terminal the volume does get raised.

Any clues as to what is happening?

I think this is the last thing I need to get working before this stuff I'm working on is releseable for other Empegers to use..

Thanks.

EDIT: I subsequently tried copying "button=VolUp" to /proc/empeg_notify, and the result is a restart of the current tune.


Edited by jules (06/04/2004 17:55)