📄 message_8h.html
字号:
<td class="md" nowrap><a class="el" href="csrtypes_8h.html#a4">uint16</a> </td> <td class="mdname" nowrap> <em>count</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>const <a class="el" href="status__if_8h.html#a23">status_field</a> * </td> <td class="mdname" nowrap> <em>fields</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Register a task to receive a message when status values change. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>task</em> </td><td>The task to receive the STATUS_CHANGED message. </td></tr> <tr><td></td><td valign=top><em>count</em> </td><td>How many fields to monitor </td></tr> <tr><td></td><td valign=top><em>fields</em> </td><td>The fields to monitor</td></tr> </table></dl>Returns the previously registered task, if any. The registered task will receive just one message and must register itself again if it wishes to receive another.<p>A message will be sent when any of the listed status fields may have changed. </td> </tr></table><a class="anchor" name="a17" doxytag="message.h::MessageLongKalimbaTask" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="struct_task_data.html">Task</a> MessageLongKalimbaTask </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="struct_task_data.html">Task</a> </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Register a task to handle long messages from Kalimba; returns the old task (or zero). <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>Task</em> </td><td>This task will receive LONG_MESSAGE_FROM_KALIMBA messages. </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="a18" doxytag="message.h::MessageSystemTask" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="struct_task_data.html">Task</a> MessageSystemTask </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="struct_task_data.html">Task</a> </td> <td class="mdname1" valign="top" nowrap> <em>task</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Register a task to handle system-wide messages; returns the old task (or zero). <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>task</em> </td><td>The task which will receive the messages.</td></tr> </table></dl>Currently the only system-wide messages are MESSAGE_USB_ENUMERATED and MESSAGE_PSFL_FAULT.<p>Other such messages may be added. </td> </tr></table><a class="anchor" name="a19" doxytag="message.h::MessageChargerTask" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="struct_task_data.html">Task</a> MessageChargerTask </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="struct_task_data.html">Task</a> </td> <td class="mdname1" valign="top" nowrap> <em>task</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Register a task to handle messages from the onchip battery charger and power system hardware; return the old task (or zero). <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>task</em> </td><td>This task will receive MESSAGE_CHARGER_CHANGED messages when parts of the charger or power system hardware changes. </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="a20" doxytag="message.h::MessageSend" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void MessageSend </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="struct_task_data.html">Task</a> </td> <td class="mdname" nowrap> <em>task</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="message___8h.html#a0">MessageId</a> </td> <td class="mdname" nowrap> <em>id</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>message</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Send a message to the corresponding task immediately. The message will be passed to free after delivery. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>task</em> </td><td>The task to deliver the message to. </td></tr> <tr><td></td><td valign=top><em>id</em> </td><td>The message type identifier. </td></tr> <tr><td></td><td valign=top><em>message</em> </td><td>The message data (if any). </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="a21" doxytag="message.h::MessageCancelAll" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="csrtypes_8h.html#a4">uint16</a> MessageCancelAll </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="struct_task_data.html">Task</a> </td> <td class="mdname" nowrap> <em>task</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="message___8h.html#a0">MessageId</a> </td> <td class="mdname" nowrap> <em>id</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Cancel all queued messages with the given task and message id. Returns a count of how many such messages were cancelled. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>task</em> </td><td>The task to cancel message for. </td></tr> <tr><td></td><td valign=top><em>id</em> </td><td>The message identifier to search for. </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="a22" doxytag="message.h::MessageLoop" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void MessageLoop </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>The main scheduler loop; it waits until the next message is due and then sends it to the corresponding task. Never returns. <p> </td> </tr></table><a class="anchor" name="a23" doxytag="message.h::MessageSendConditionallyOnTask" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void MessageSendConditionallyOnTask </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="struct_task_data.html">Task</a> </td> <td class="mdname" nowrap> <em>t</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="message___8h.html#a0">MessageId</a> </td> <td class="mdname" nowrap> <em>id</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="message___8h.html#a2">Message</a> </td> <td class="mdname" nowrap> <em>m</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>const <a class="el" href="struct_task_data.html">Task</a> * </td> <td class="mdname" nowrap> <em>c</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Send a message to be be delivered when the corresponding Task is zero. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>t</em> </td><td>The task to deliver the message to. </td></tr> <tr><td></td><td valign=top><em>id</em> </td><td>The message identifier. </td></tr> <tr><td></td><td valign=top><em>m</em> </td><td>The message data. </td></tr> <tr><td></td><td valign=top><em>c</em> </td><td>The task that must be zero for the message to be delivered. </td></tr> </table></dl> </td> </tr></table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -