cml__pdo_8h-source.html
来自「美国COPLEY驱动器,程序开发工具之一.」· HTML 代码 · 共 571 行 · 第 1/5 页
HTML
571 行
<a name="l00452"></a>00452 <span class="comment"></span><a name="l00453"></a>00453 <span class="comment"> /// Initialize a 8-bit mapping object</span><a name="l00454"></a>00454 <span class="comment"> /// @param index Object index associated with this variable</span><a name="l00455"></a>00455 <span class="comment"> /// @param sub Object sub-index (defaults to 0)</span><a name="l00456"></a>00456 <span class="comment"> /// @return An error object</span><a name="l00457"></a><a class="code" href="classPmap8.html#a2">00457</a> <span class="comment"></span> <span class="keyword">const</span> <a class="code" href="classError.html">Error</a> *<a class="code" href="classPmap8.html#a2">Init</a>( <a class="code" href="CML__Utils_8h.html#a8">uint16</a> <a class="code" href="classPmap.html#p0">index</a>, <a class="code" href="CML__Utils_8h.html#a2">byte</a> <a class="code" href="classPmap.html#p1">sub</a>=0 ){<a name="l00458"></a>00458 <span class="keywordflow">return</span> <a class="code" href="classPmap.html#a3">Pmap::Init</a>( index, <a class="code" href="classPmap.html#p1">sub</a>, 8 );<a name="l00459"></a>00459 }<a name="l00460"></a>00460 <span class="comment"></span><a name="l00461"></a>00461 <span class="comment"> /// Copy the current value of this variable into the passed</span><a name="l00462"></a>00462 <span class="comment"> /// character array. This function is called when a receive</span><a name="l00463"></a>00463 <span class="comment"> /// PDO is about to be transmitted to a node.</span><a name="l00464"></a>00464 <span class="comment"> /// @param cptr A character pointer that references a char</span><a name="l00465"></a>00465 <span class="comment"> /// array of at least 1 bytes. The current value</span><a name="l00466"></a>00466 <span class="comment"> /// of this variable will be copied there.</span><a name="l00467"></a><a class="code" href="classPmap8.html#a3">00467</a> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPmap8.html#a3">Get</a>( <a class="code" href="CML__Utils_8h.html#a2">byte</a> *cptr ){<a name="l00468"></a>00468 cptr[0] = <a class="code" href="CML__Utils_8h.html#a0">ByteCast</a>(data);<a name="l00469"></a>00469 }<a name="l00470"></a>00470 <span class="comment"></span><a name="l00471"></a>00471 <span class="comment"> /// Update the value of this variable based on the data passed</span><a name="l00472"></a>00472 <span class="comment"> /// in a character array. This function is called when a transmit</span><a name="l00473"></a>00473 <span class="comment"> /// PDO that this variable is mapped to is received.</span><a name="l00474"></a>00474 <span class="comment"> /// @param cptr A character pointer that references a char</span><a name="l00475"></a>00475 <span class="comment"> /// array of at least 1 bytes. The value of this variable </span><a name="l00476"></a>00476 <span class="comment"> /// will be updated with the data passed in this array.</span><a name="l00477"></a><a class="code" href="classPmap8.html#a4">00477</a> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPmap8.html#a4">Set</a>( <a class="code" href="CML__Utils_8h.html#a2">byte</a> *cptr ){<a name="l00478"></a>00478 data = <a class="code" href="CML__Utils_8h.html#a0">ByteCast</a>(cptr[0]);<a name="l00479"></a>00479 }<a name="l00480"></a>00480 <span class="comment"></span><a name="l00481"></a>00481 <span class="comment"> /// Read the current value of this variable</span><a name="l00482"></a>00482 <span class="comment"> /// @return The current value of this variable.</span><a name="l00483"></a><a class="code" href="classPmap8.html#a5">00483</a> <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="CML__Utils_8h.html#a2">byte</a> <a class="code" href="classPmap8.html#a5">Read</a>( <span class="keywordtype">void</span> ){<a name="l00484"></a>00484 <span class="keywordflow">return</span> <a class="code" href="CML__Utils_8h.html#a0">ByteCast</a>(data);<a name="l00485"></a>00485 }<a name="l00486"></a>00486 <span class="comment"></span><a name="l00487"></a>00487 <span class="comment"> /// Write a new value to this variable.</span><a name="l00488"></a>00488 <span class="comment"> /// @param d The new value to write.</span><a name="l00489"></a><a class="code" href="classPmap8.html#a6">00489</a> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classPmap8.html#a6">Write</a>( <a class="code" href="CML__Utils_8h.html#a2">byte</a> d ){<a name="l00490"></a>00490 data = <a class="code" href="CML__Utils_8h.html#a0">ByteCast</a>(d);<a name="l00491"></a>00491 }<a name="l00492"></a>00492 <a name="l00493"></a>00493 <span class="keyword">private</span>:<span class="comment"></span><a name="l00494"></a>00494 <span class="comment"> /// The 8-bit integer associated with this mapping.</span><a name="l00495"></a>00495 <span class="comment"></span> <a class="code" href="CML__Utils_8h.html#a2">byte</a> data;<a name="l00496"></a>00496 };<a name="l00497"></a>00497 <a name="l00498"></a>00498 <span class="comment">/***************************************************************************/</span><span class="comment"></span><a name="l00499"></a>00499 <span class="comment">/**</span><a name="l00500"></a>00500 <span class="comment">PDO (Process Data Object) base class. </span><a name="l00501"></a>00501 <span class="comment">*/</span><a name="l00502"></a>00502 <span class="comment">/***************************************************************************/</span><a name="l00503"></a><a class="code" href="classPDO.html">00503</a> <span class="keyword">class </span><a class="code" href="classPDO.html">PDO</a><a name="l00504"></a>00504 {<a name="l00505"></a>00505 <span class="keyword">public</span>:<span class="comment"></span><a name="l00506"></a>00506 <span class="comment"> /// Default constructor. Simply initializes some variables.</span><a name="l00507"></a><a class="code" href="classPDO.html#a0">00507</a> <span class="comment"></span> <a class="code" href="classPDO.html#a0">PDO</a>( <span class="keywordtype">void</span> ){<a name="l00508"></a>00508 <a class="code" href="classPDO.html#p0">flags</a> = <a class="code" href="CML__PDO_8h.html#a1">FLG_RTR_OK</a>;<a name="l00509"></a>00509 <a class="code" href="classPDO.html#p2">mapCt</a> = 0;<a name="l00510"></a>00510 <a class="code" href="classPDO.html#p3">bitCt</a> = 0;<a name="l00511"></a>00511 <a class="code" href="classPDO.html#p1">type</a> = 0;<a name="l00512"></a>00512 }<a name="l00513"></a>00513 <span class="comment"></span><a name="l00514"></a>00514 <span class="comment"> /// Virtual destructor</span><a name="l00515"></a><a class="code" href="classPDO.html#a1">00515</a> <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="classPDO.html#a1">~PDO</a>(){}<a name="l00516"></a>00516 <span class="comment"></span><a name="l00517"></a>00517 <span class="comment"> /// Initialize the PDO.</span><a name="l00518"></a>00518 <span class="comment"> /// @return A pointer to an error object, or NULL on success</span><a name="l00519"></a><a class="code" href="classPDO.html#a2">00519</a> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classError.html">Error</a> *<a class="code" href="classPDO.html#a2">Init</a>( <span class="keywordtype">void</span> )<a name="l00520"></a>00520 {<a name="l00521"></a>00521 <a class="code" href="classPDO.html#p0">flags</a> = <a class="code" href="CML__PDO_8h.html#a1">FLG_RTR_OK</a>;<a name="l00522"></a>00522 <a class="code" href="classPDO.html#p2">mapCt</a> = 0;<a name="l00523"></a>00523 <a class="code" href="classPDO.html#p3">bitCt</a> = 0;<a name="l00524"></a>00524 <a class="code" href="classPDO.html#p1">type</a> = 0;<a name="l00525"></a>00525 <span class="keywordflow">return</span> 0;<a name="l00526"></a>00526 }<a name="l00527"></a>00527 <span class="comment"></span><a name="l00528"></a>00528 <span class="comment"> /// Return the base index in the object dictionary</span><a name="l00529"></a>00529 <span class="comment"> /// for this type of PDOs communication parameters</span><a name="l00530"></a>00530 <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="CML__Utils_8h.html#a8">uint16</a> <a class="code" href="classPDO.html#a3">BaseIndex</a>( <span class="keywordtype">void</span> ) = 0;<a name="l00531"></a>00531 <span class="comment"></span><a name="l00532"></a>00532 <span class="comment"> /// Get the COB ID associated with the PDO</span><a name="l00533"></a>00533 <span class="comment"> /// @return The COB-ID of the PDO</span><a name="l00534"></a>00534 <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="CML__Utils_8h.html#a10">uint32</a> <a class="code" href="classPDO.html#a4">GetID</a>( <span class="keywordtype">void</span> ) = 0;<a name="l00535"></a>00535 <span class="comment"></span><a name="l00536"></a>00536 <span class="comment"> /// Set the PDO transmission type code.</span><a name="l00537"></a>00537 <span class="comment"> /// @param t Transmission type code</span><a name="l00538"></a>00538 <span class="comment"> /// @return An error object.</span><a name="l00539"></a><a class="code" href="classPDO.html#a5">00539</a> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classError.html">Error</a> *<a class="code" href="classPDO.html#a5">SetType</a>( <a class="code" href="CML__Utils_8h.html#a2">byte</a> t ){<a name="l00540"></a>00540 <a class="code" href="classPDO.html#p1">type</a>= <a class="code" href="CML__Utils_8h.html#a0">ByteCast</a>(t);<a name="l00541"></a>00541 <span class="keywordflow">return</span> 0;<a name="l00542"></a>00542 }<a name="l00543"></a>00543 <span class="comment"></span><a name="l00544"></a>00544 <span class="comment"> /// Return the PDO transmission type associated with this PDO.</span><a name="l00545"></a>00545 <span class="comment"> /// @return The 8-bit type code</span><a name="l00546"></a><a class="code" href="classPDO.html#a6">00546</a> <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="CML__Utils_8h.html#a2">byte</a> <a class="code" href="classPDO.html#a6">GetType</a>( <span class="keywordtype">void</span> ){<a name="l00547"></a>00547 <span class="keywordflow">return</span> <a class="code" href="classPDO.html#p1">type</a>;<a name="l00548"></a>00548 }<a name="l00549"></a>00549 <span class="comment"></span><a name="l00550"></a>00550 <span class="comment"> /// Clear the variable map associated with this PDO.</span><a name="l00551"></a>00551 <span class="comment"> /// @return An error code</span><a name="l00552"></a><a class="code" href="classPDO.html#a7">00552</a> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classError.html">Error</a> *<a class="code" href="classPDO.html#a7">ClearMap</a>( <span class="keywordtype">void</span> ){<a name="l00553"></a>00553 <a class="code" href="classPDO.html#p2">mapCt</a> = 0;<a name="l00554"></a>00554 <span class="keywordflow">return</span> 0;<a name="l00555"></a>00555 }<a name="l00556"></a>00556 <a name="l00557"></a>00557 <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classError.html">Error</a> *<a class="code" href="classPDO.html#a8">AddVar</a>( <a class="code" href="classPmap.html">Pmap</a> &var );<a name="l00558"></a>00558 <span class="comment"></span><a name="l00559"></a>00559 <span class="comment"> /// Return non-zero if RTR requests are OK for this PDO.</span><a name="l00560"></a>00560 <span class="comment"> /// Note that this only really makes sense for transmit PDOs</span><a name="l00561"></a>00561 <span class="comment"> /// @return zero if RTR not allowed, non-zero if allowed.</span><a name="l00562"></a><a class="code
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?