/**\r
- * LPCXPresso1769のPWMクラスを定義します。\r
- class Pwm\r
- PWMペリフェラルを操作するクラス\r
- class PwmPin\r
- PWMピンを操作するクラス\r
+ * @fileOverview LPCXpresso1769のPwmペリフェラル、ピンを制御するクラスを定義する。\r
*/\r
(function(){\r
var DEV=LPCXpresso1769;\r
\r
\r
/**\r
- * see API manual
+ * LPCXPresso1769.Pwm (Pwm)クラスのコンストラクタ。\r
+ * MCUに関連付けしたPwmペリフェラルを生成する。\r
+ * Pwmクラスは、PWM1ペリフェラルを管理して、PWMペリフェラル全体の設定を管理する。\r
+ * Pwmの分解能は、無指定の場合25MHz(1/4クロック)設定である。関数は、PWMのマッチレジスタ以外に、PCR,CTCR,TCRを同時に初期化する。\r
+ * @name LPCXpresso1769.Pwm\r
+ * @constructor\r
+ * @param {object as LPCXpresso1769.Mcu} i_mcu\r
+ * インスタンスを結びつけるMcuオブジェクト。\r
+ * @param {aobject as associative array} i_opt\r
+ * インスタンス生成と同時にsetOpt関数でセットする値を指定する。省略時は、{freq:100,phl:{power:1,clock:0}}である。\r
+ * 詳細は、setOpt関数を参照。 \r
+ * @example\r
+ * //create PWM pheripheral\r
+ * var mcu=new LPCXpresso1769.Mcu("192.168.0.39");\r
+ * var pwm=new LPCXpresso1769.Pwm(mcu,"");\r
*/\r
DEV.Pwm=function Pwm(i_mcu,i_opt)\r
{\r
_mcu:null,\r
\r
/**\r
- * {phl:{object},(freq:int)}
+ * @private
*/\r
BCF_setOpt:function BCF_setOpt(i_opt,i_db)\r
{\r
\r
/**\r
* MRnに値を設定するBC\r
+ @private\r
*/\r
BCF_setMRn:function BCF_setMRn(i_ch,i_val,i_db)\r
{\r
/**\r
* PCRに値を設定するBC\r
i_ch=1の場合、エッジモードは無視します。\r
+ @private\r
@param i_ch\r
1-6\r
@param i_edge\r
}\r
},\r
/**\r
- * See API manual.\r
+ * Pwmペリフェラルに値を設定する。\r
+ * 設定する値は、全てのPWMチャンネル(PIN)に共通な項目である。\r
+ * @name LPCXpresso1769.Pwm#setOpt\r
+ * @function\r
+ * @param {object as associative array} i_opt\r
+ * GPIOピンのコンフィグレーションパラメタである。必要な値を格納した連想配列で指定する。\r
+ * 全ての値を省略することは出来ない。連想配列のメンバは以下の通り。\r
+ * <pre>{freq:int,phl:object as associative array}</pre>\r
+ * <ul>\r
+ * <li>freq - PWMの基本周波数(Hz)である。この値は、全てのPWMチャンネルで共通である。</li>\r
+ * <li>phl - ペリフェラルの共通パラメタである。LPCXpresso1769.Peripheral.setOpt関数のi_optに渡すパラメタである。詳細はLPCXpresso1769.Peripheral.setOptを参照。</li>\r
+ * </ul>\r
+ * @example\r
+ * //create PWM (logical)peripheral\r
+ * var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”);\r
+ * var pwm=new LPCXpresso1769.Pwm(mcu);\r
+ * pwm.setOpt({freq:1000});\r
*/\r
setOpt:function setOpt(i_opt)\r
{\r
}\r
}, \r
/**\r
- * see API manual\r
+ * PWM機能を持つピンを取得する。\r
+ * ピン識別子で指定されるピンをPWMペリフェラルと結合して、PwmPinを生成する。\r
+ * 関数は、PwmPinオブジェクトのコンストラクタをコールして、PwmPinを生成する。失敗すると、例外をスローする。\r
+ * 生成ルールについての詳細は、PwmPinを参照。\r
+ * @name LPCXpresso1769.Pwm#getPin\r
+ * @function\r
+ * @param {object as ピン識別子} i_pin\r
+ * PWM機能を割り当てるPINの識別子である。\r
+ * @param {object as associative array} i_opt\r
+ * PemPinのコンストラクタに渡すオプション値。省略時は{duty:0,enable:1,pin:{sel:auto}}である。\r
+ * @return {object as LPCXpresso1769.PwmPin}\r
+ * LPCXpresso1769.PwmPinクラスのオブジェクトである。\r
+ * @example\r
+ * //create 100hz d=0.5 pwm\r
+ * var mcu=new LPCXpresso1769.Mcu("192.168.0.39");\r
+ * var pwm=new LPCXpresso1769.Pwm(mcu);\r
+ * var pwmpin=pwm.getPin(LPCXpresso1769.P2[0],{duty:0.5});\r
*/\r
getPin:function getPin(i_pin,i_opt)\r
{\r
}\r
\r
/**\r
- * このクラスは、PwmペリフェラルとPwm識別子から、シングルエッジPwmピンを構成します。\r
- @param i_PWM\r
- Pwmペリフェラル\r
- @param i_pwm\r
- PWMを構成するピン番号\r
- @param i_opt\r
- ピンオプション。各値は省略できます。\r
-{duty:100,enable:1,pin{sel:auto,mode:undefined,od:undefined}}\r
+ * PwmペリフェラルとPin識別子から、シングルエッジPwmピンを構成する。\r
+ * Pwmペリフェラルオブジェクトにピン識別子で指定されたピンを関連付けて、PWM機能を持つピンを生成する。\r
+ * 関数は、ピン識別子を元に、そのピンがPWM機能に接続できるかを調べる。ピンにPWM機能を割り当てられない場合、例外が発生する。どのピンにPWM機能が割り当てられるかは、MCUのスペックシートを参照すること。\r
+ * ピンがPWM機能を持たない場合、例外が発生する。\r
+ * @constructor\r
+ * @name LPCXpresso1769.PwmPin\r
+ * @param {object as LPCXpresso1769.Pwm} i_pwm\r
+ * インスタンスを結びつけるAdcオブジェクト。\r
+ * @param {object as pin識別子} i_pin\r
+ * ピン識別子。指定できるのは、LPCXpresso1796.P?[?]である。\r
+ * @param {object as associative array} i_opt\r
+ * setOpt関数のi_optに渡すパラメタである。省略可能。省略時は{duty:100,enable:1,pin{sel:auto}}を設定する。\r
+ * autoは、関数が自動的に決定するPINSELの値である。詳細はsetOpt関数を参照。 \r
+ * @example\r
+ * //create PWM1.0\r
+ * var mcu=new LPCXpresso1769.Mcu(“192.168.0.39”);\r
+ * var pwm=new LPCXpresso1769.Pwm(mcu,{freq:100});\r
+ * var pwmpin=new LPCXpresso1769.PwmPin(pwm,P2[0]); \r
*/\r
DEV.PwmPin=function PwmPin(i_pwm,i_pin,i_opt)\r
{\r
_pin:null,\r
_pwminfo:null,\r
/**\r
- * @param i_opt\r
+ * \r
+ @private\r
+ @param i_opt\r
シングルエッジPWMのオプション値を設定する。\r
{pin:{ピン初期化パラメタ},enable:有効値,duty:デューティ比}}
*/\r
throw new MiMicException(e);\r
}\r
},\r
+ /**\r
+ * PWMピンにオプション値を設定する。\r
+ * @name LPCXpresso1769.PwmPin#setOpt\r
+ * @function\r
+ * @param {object as associative array} i_opt\r
+ * PWMピンのコンフィグレーションパラメタである。必要な値を格納した連想配列で指定する。\r
+ * 全ての値を省略することは出来ない。連想配列のメンバは以下の通り。\r
+ * <pre>{pin:{associative array},enable:int,duty:double}</pre>\r
+ * <ul>\r
+ * <li>pin - LPCXpresso1769.Pin#setOpt関数のi_optに渡すパラメタである。</li>\r
+ * <li>enable - PWMの有効/無効を切り替える。1で有効。</li>\r
+ * <li>duty - デューティ比である。0.0<=n<=1.0のdouble値を指定する。</li>\r
+ * </ul>\r
+ * @example\r
+ * var mcu=new LPCXpresso1769.Mcu("192.168.128.39",true);\r
+ * var pwm=mcu.getPeripheral("PWM",{freq:100});\r
+ * pwmpin=pwm.getPin(LPCXpresso1769.P2[0]);\r
+ */ \r
setOpt:function setOpt(i_opt)\r
{\r
try{\r
throw new MiMicException(e);\r
}\r
},\r
- \r
/**\r
- * デューティ比を設定する。\r
- @return\r
+ * PWMのデューティ比を変更する。\r
+ * @name LPCXpresso1769.PwmPin#setDuty\r
+ * @function\r
+ * @param {double} i_duty\r
+ * デューティ比である。0.0<=n<=1.0のdouble値を指定する。</li>\r
+ * @example\r
+ * varmcu=new LPCXpresso1769.Mcu("192.168.128.39",true);\r
+ * var pwm=mcu.getPeripheral("PWM",{freq:100});\r
+ * pwmpin=pwm.getPin(LPCXpresso1769.P2[0]);\r
+ * pwmpin.setDuty(0.5);\r
*/\r
setDuty:function setDuty(i_duty)\r
{\r