AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
vodprm.c

VOD Primitive

VOD Primitive

none

AXELL CORPORATION

2017_10_26 初版 

2017_10_26 Ver2.0

1: 9: 10: 14: 15: 16: #include "AG903_common.h" 17: 18: #include "dsp/vodprm.h" 19: #include "dsp/dspmgr.h" 20: 21: 22: 23: 26: #define AG903_VOD_CH_NUM (AG903_DSP_CH_NUM) 27: 28: 29: 36: void AG903_VODPrmGetPORTSEL(uint8_t ch, uint32_t *portsel) 37: { 38: ASSERT(ch < AG903_VOD_CH_NUM); 39: ASSERT(portsel != (uint32_t *)NULL); 40: 41: *portsel = (AG903_VODn(ch)->PORTSEL & AG903_VODn_PORTSEL_SEL_MSK) >> AG903_VODn_PORTSEL_SEL_POS; 42: } 43: 44: 51: void AG903_VODPrmSetPORTSEL(uint8_t ch, uint32_t portsel) 52: { 53: ASSERT(ch < AG903_VOD_CH_NUM); 54: 55: AG903_VODn(ch)->PORTSEL = (portsel << AG903_VODn_PORTSEL_SEL_POS) & AG903_VODn_PORTSEL_SEL_MSK; 56: } 57: 58: 65: void AG903_VODPrmGetMOD(uint8_t ch, VODPrmParamMOD *mod) 66: { 67: ASSERT(ch < AG903_VOD_CH_NUM); 68: ASSERT(mod != (VODPrmParamMOD *)NULL); 69: 70: uint32_t reg = AG903_VODn(ch)->MOD; 71: mod->dp = (reg & AG903_VODn_MOD_DP_MSK ) >> AG903_VODn_MOD_DP_POS; 72: mod->vp = (reg & AG903_VODn_MOD_VP_MSK ) >> AG903_VODn_MOD_VP_POS; 73: mod->hp = (reg & AG903_VODn_MOD_HP_MSK ) >> AG903_VODn_MOD_HP_POS; 74: mod->fp = (reg & AG903_VODn_MOD_FP_MSK ) >> AG903_VODn_MOD_FP_POS; 75: mod->cdp = (reg & AG903_VODn_MOD_CDP_MSK ) >> AG903_VODn_MOD_CDP_POS; 76: mod->dex = (reg & AG903_VODn_MOD_DEX_MSK ) >> AG903_VODn_MOD_DEX_POS; 77: mod->vex = (reg & AG903_VODn_MOD_VEX_MSK ) >> AG903_VODn_MOD_VEX_POS; 78: mod->hex = (reg & AG903_VODn_MOD_HEX_MSK ) >> AG903_VODn_MOD_HEX_POS; 79: mod->fex = (reg & AG903_VODn_MOD_FEX_MSK ) >> AG903_VODn_MOD_FEX_POS; 80: mod->cdex = (reg & AG903_VODn_MOD_CDEX_MSK) >> AG903_VODn_MOD_CDEX_POS; 81: mod->pex = (reg & AG903_VODn_MOD_PEX_MSK ) >> AG903_VODn_MOD_PEX_POS; 82: mod->cp = (reg & AG903_VODn_MOD_CP_MSK ) >> AG903_VODn_MOD_CP_POS; 83: mod->code = (reg & AG903_VODn_MOD_CODE_MSK) >> AG903_VODn_MOD_CODE_POS; 84: mod->yuv = (reg & AG903_VODn_MOD_YUV_MSK ) >> AG903_VODn_MOD_YUV_POS; 85: mod->fmt = (reg & AG903_VODn_MOD_FMT_MSK ) >> AG903_VODn_MOD_FMT_POS; 86: mod->ct0 = (reg & AG903_VODn_MOD_CT0_MSK ) >> AG903_VODn_MOD_CT0_POS; 87: mod->ct1 = (reg & AG903_VODn_MOD_CT1_MSK ) >> AG903_VODn_MOD_CT1_POS; 88: } 89: 90: 97: void AG903_VODPrmSetMOD(uint8_t ch, VODPrmParamMOD *mod) 98: { 99: ASSERT(ch < AG903_VOD_CH_NUM); 100: ASSERT(mod != (VODPrmParamMOD *)NULL); 101: 102: uint32_t reg = 0; 103: reg |= (mod->dp << AG903_VODn_MOD_DP_POS ) & AG903_VODn_MOD_DP_MSK; 104: reg |= (mod->vp << AG903_VODn_MOD_VP_POS ) & AG903_VODn_MOD_VP_MSK; 105: reg |= (mod->hp << AG903_VODn_MOD_HP_POS ) & AG903_VODn_MOD_HP_MSK; 106: reg |= (mod->fp << AG903_VODn_MOD_FP_POS ) & AG903_VODn_MOD_FP_MSK; 107: reg |= (mod->cdp << AG903_VODn_MOD_CDP_POS ) & AG903_VODn_MOD_CDP_MSK; 108: reg |= (mod->dex << AG903_VODn_MOD_DEX_POS ) & AG903_VODn_MOD_DEX_MSK; 109: reg |= (mod->vex << AG903_VODn_MOD_VEX_POS ) & AG903_VODn_MOD_VEX_MSK; 110: reg |= (mod->hex << AG903_VODn_MOD_HEX_POS ) & AG903_VODn_MOD_HEX_MSK; 111: reg |= (mod->fex << AG903_VODn_MOD_FEX_POS ) & AG903_VODn_MOD_FEX_MSK; 112: reg |= (mod->cdex << AG903_VODn_MOD_CDEX_POS) & AG903_VODn_MOD_CDEX_MSK; 113: reg |= (mod->pex << AG903_VODn_MOD_PEX_POS ) & AG903_VODn_MOD_PEX_MSK; 114: reg |= (mod->cp << AG903_VODn_MOD_CP_POS ) & AG903_VODn_MOD_CP_MSK; 115: reg |= (mod->code << AG903_VODn_MOD_CODE_POS) & AG903_VODn_MOD_CODE_MSK; 116: reg |= (mod->yuv << AG903_VODn_MOD_YUV_POS ) & AG903_VODn_MOD_YUV_MSK; 117: reg |= (mod->fmt << AG903_VODn_MOD_FMT_POS ) & AG903_VODn_MOD_FMT_MSK; 118: reg |= (mod->ct0 << AG903_VODn_MOD_CT0_POS ) & AG903_VODn_MOD_CT0_MSK; 119: reg |= (mod->ct1 << AG903_VODn_MOD_CT1_POS ) & AG903_VODn_MOD_CT1_MSK; 120: AG903_VODn(ch)->MOD = reg; 121: } 122: 123: 131: void AG903_VODPrmGetBPWRMOD(uint8_t ch, uint32_t *en, uint32_t *unit) 132: { 133: ASSERT(ch < AG903_VOD_CH_NUM); 134: ASSERT(en != (uint32_t *)NULL); 135: ASSERT(unit != (uint32_t *)NULL); 136: 137: uint32_t reg = AG903_VODn(ch)->BPWRMOD; 138: *en = (reg & AG903_VODn_BPWRMOD_EN_MSK ) >> AG903_VODn_BPWRMOD_EN_POS; 139: *unit = (reg & AG903_VODn_BPWRMOD_UNIT_MSK) >> AG903_VODn_BPWRMOD_UNIT_POS; 140: } 141: 142: 150: void AG903_VODPrmSetBPWRMOD(uint8_t ch, uint32_t en, uint32_t unit) 151: { 152: ASSERT(ch < AG903_VOD_CH_NUM); 153: 154: uint32_t reg = 0; 155: reg |= (en << AG903_VODn_BPWRMOD_EN_POS ) & AG903_VODn_BPWRMOD_EN_MSK; 156: reg |= (unit << AG903_VODn_BPWRMOD_UNIT_POS) & AG903_VODn_BPWRMOD_UNIT_MSK; 157: AG903_VODn(ch)->BPWRMOD = reg; 158: } 159: 160: 167: void AG903_VODPrmGetPPWRONCNT(uint8_t ch, uint32_t *cnt) 168: { 169: ASSERT(ch < AG903_VOD_CH_NUM); 170: ASSERT(cnt != (uint32_t *)NULL); 171: 172: *cnt = (AG903_VODn(ch)->PPWRONCNT & AG903_VODn_PPWRONCNT_CNT_MSK) >> AG903_VODn_PPWRONCNT_CNT_POS; 173: } 174: 175: 182: void AG903_VODPrmSetPPWRONCNT(uint8_t ch, uint32_t cnt) 183: { 184: ASSERT(ch < AG903_VOD_CH_NUM); 185: 186: AG903_VODn(ch)->PPWRONCNT = (cnt << AG903_VODn_PPWRONCNT_CNT_POS) & AG903_VODn_PPWRONCNT_CNT_MSK; 187: } 188: 189: 196: void AG903_VODPrmGetBPWRONCNT(uint8_t ch, uint32_t *cnt) 197: { 198: ASSERT(ch < AG903_VOD_CH_NUM); 199: ASSERT(cnt != (uint32_t *)NULL); 200: 201: *cnt = (AG903_VODn(ch)->BPWRONCNT & AG903_VODn_BPWRONCNT_CNT_MSK) >> AG903_VODn_BPWRONCNT_CNT_POS; 202: } 203: 204: 211: void AG903_VODPrmSetBPWRONCNT(uint8_t ch, uint32_t cnt) 212: { 213: ASSERT(ch < AG903_VOD_CH_NUM); 214: 215: AG903_VODn(ch)->BPWRONCNT = (cnt << AG903_VODn_BPWRONCNT_CNT_POS) & AG903_VODn_BPWRONCNT_CNT_MSK; 216: } 217: 218: 225: void AG903_VODPrmGetBLGTONCNT(uint8_t ch, uint32_t *cnt) 226: { 227: ASSERT(ch < AG903_VOD_CH_NUM); 228: ASSERT(cnt != (uint32_t *)NULL); 229: 230: *cnt = (AG903_VODn(ch)->BLGTONCNT & AG903_VODn_BLGTONCNT_CNT_MSK) >> AG903_VODn_BLGTONCNT_CNT_POS; 231: } 232: 233: 240: void AG903_VODPrmSetBLGTONCNT(uint8_t ch, uint32_t cnt) 241: { 242: ASSERT(ch < AG903_VOD_CH_NUM); 243: 244: AG903_VODn(ch)->BLGTONCNT = (cnt << AG903_VODn_BLGTONCNT_CNT_POS) & AG903_VODn_BLGTONCNT_CNT_MSK; 245: } 246: 247: 254: void AG903_VODPrmGetPPWROFFCNT(uint8_t ch, uint32_t *cnt) 255: { 256: ASSERT(ch < AG903_VOD_CH_NUM); 257: ASSERT(cnt != (uint32_t *)NULL); 258: 259: *cnt = (AG903_VODn(ch)->PPWROFFCNT & AG903_VODn_PPWROFFCNT_CNT_MSK) >> AG903_VODn_PPWROFFCNT_CNT_POS; 260: } 261: 262: 269: void AG903_VODPrmSetPPWROFFCNT(uint8_t ch, uint32_t cnt) 270: { 271: ASSERT(ch < AG903_VOD_CH_NUM); 272: 273: AG903_VODn(ch)->PPWROFFCNT = (cnt << AG903_VODn_PPWROFFCNT_CNT_POS) & AG903_VODn_PPWROFFCNT_CNT_MSK; 274: } 275: 276: 283: void AG903_VODPrmGetBPWROFFCNT(uint8_t ch, uint32_t *cnt) 284: { 285: ASSERT(ch < AG903_VOD_CH_NUM); 286: ASSERT(cnt != (uint32_t *)NULL); 287: 288: *cnt = (AG903_VODn(ch)->BPWROFFCNT & AG903_VODn_BPWROFFCNT_CNT_MSK) >> AG903_VODn_BPWROFFCNT_CNT_POS; 289: } 290: 291: 298: void AG903_VODPrmSetBPWROFFCNT(uint8_t ch, uint32_t cnt) 299: { 300: ASSERT(ch < AG903_VOD_CH_NUM); 301: 302: AG903_VODn(ch)->BPWROFFCNT = (cnt << AG903_VODn_BPWROFFCNT_CNT_POS) & AG903_VODn_BPWROFFCNT_CNT_MSK; 303: } 304: 305: 312: void AG903_VODPrmGetBLGTOFFCNT(uint8_t ch, uint32_t *cnt) 313: { 314: ASSERT(ch < AG903_VOD_CH_NUM); 315: ASSERT(cnt != (uint32_t *)NULL); 316: 317: *cnt = (AG903_VODn(ch)->BLGTOFFCNT & AG903_VODn_BLGTOFFCNT_CNT_MSK) >> AG903_VODn_BLGTOFFCNT_CNT_POS; 318: } 319: 320: 327: void AG903_VODPrmSetBLGTOFFCNT(uint8_t ch, uint32_t cnt) 328: { 329: ASSERT(ch < AG903_VOD_CH_NUM); 330: 331: AG903_VODn(ch)->BLGTOFFCNT = (cnt << AG903_VODn_BLGTOFFCNT_CNT_POS) & AG903_VODn_BLGTOFFCNT_CNT_MSK; 332: } 333: 334: 341: void AG903_VODPrmGetPWMPERIOD(uint8_t ch, uint32_t *period) 342: { 343: ASSERT(ch < AG903_VOD_CH_NUM); 344: ASSERT(period != (uint32_t *)NULL); 345: 346: *period = 347: (AG903_VODn(ch)->PWMPERIOD & AG903_VODn_PWMPERIOD_PERIOD_MSK) >> AG903_VODn_PWMPERIOD_PERIOD_POS; 348: } 349: 350: 357: void AG903_VODPrmSetPWMPERIOD(uint8_t ch, uint32_t period) 358: { 359: ASSERT(ch < AG903_VOD_CH_NUM); 360: 361: AG903_VODn(ch)->PWMPERIOD = 362: (period << AG903_VODn_PWMPERIOD_PERIOD_POS) & AG903_VODn_PWMPERIOD_PERIOD_MSK; 363: } 364: 365: 372: void AG903_VODPrmGetPWMCNT(uint8_t ch, uint32_t *cnt) 373: { 374: ASSERT(ch < AG903_VOD_CH_NUM); 375: ASSERT(cnt != (uint32_t *)NULL); 376: 377: *cnt = (AG903_VODn(ch)->PWMCNT & AG903_VODn_PWMCNT_CNT_MSK) >> AG903_VODn_PWMCNT_CNT_POS; 378: } 379: 380: 387: void AG903_VODPrmSetPWMCNT(uint8_t ch, uint32_t cnt) 388: { 389: ASSERT(ch < AG903_VOD_CH_NUM); 390: 391: AG903_VODn(ch)->PWMCNT = (cnt << AG903_VODn_PWMCNT_CNT_POS) & AG903_VODn_PWMCNT_CNT_MSK; 392: } 393: 394: 401: void AG903_VODPrmGetSTAT(uint8_t ch, uint32_t *state) 402: { 403: ASSERT(ch < AG903_VOD_CH_NUM); 404: ASSERT(state != (uint32_t *)NULL); 405: 406: *state = (AG903_VODn(ch)->STAT & AG903_VODn_STAT_STATE_MSK) >> AG903_VODn_STAT_STATE_POS; 407: } 408: 409: 417: void AG903_VODPrmGetMACRO0(uint32_t *fr, uint32_t *pm, uint32_t *pdx) 418: { 419: ASSERT(fr != (uint32_t *)NULL); 420: ASSERT(pm != (uint32_t *)NULL); 421: ASSERT(pdx != (uint32_t *)NULL); 422: 423: uint32_t reg = AG903_VOD->MACRO0; 424: *fr = (reg & AG903_VOD_MACRO0_FR_MSK ) >> AG903_VOD_MACRO0_FR_POS; 425: *pm = (reg & AG903_VOD_MACRO0_PM_MSK ) >> AG903_VOD_MACRO0_PM_POS; 426: *pdx = (reg & AG903_VOD_MACRO0_PDX_MSK) >> AG903_VOD_MACRO0_PDX_POS; 427: } 428: 429: 437: void AG903_VODPrmSetMACRO0(uint32_t fr, uint32_t pm, uint32_t pdx) 438: { 439: uint32_t reg = 0; 440: reg |= (fr << AG903_VOD_MACRO0_FR_POS ) & AG903_VOD_MACRO0_FR_MSK; 441: reg |= (pm << AG903_VOD_MACRO0_PM_POS ) & AG903_VOD_MACRO0_PM_MSK; 442: reg |= (pdx << AG903_VOD_MACRO0_PDX_POS) & AG903_VOD_MACRO0_PDX_MSK; 443: AG903_VOD->MACRO0 = reg; 444: } 445: 446: 454: void AG903_VODPrmGetMACRO1(uint32_t *fr, uint32_t *pm, uint32_t *pdx) 455: { 456: ASSERT(fr != (uint32_t *)NULL); 457: ASSERT(pm != (uint32_t *)NULL); 458: ASSERT(pdx != (uint32_t *)NULL); 459: 460: uint32_t reg = AG903_VOD->MACRO1; 461: *fr = (reg & AG903_VOD_MACRO1_FR_MSK ) >> AG903_VOD_MACRO1_FR_POS; 462: *pm = (reg & AG903_VOD_MACRO1_PM_MSK ) >> AG903_VOD_MACRO1_PM_POS; 463: *pdx = (reg & AG903_VOD_MACRO1_PDX_MSK) >> AG903_VOD_MACRO1_PDX_POS; 464: } 465: 466: 474: void AG903_VODPrmSetMACRO1(uint32_t fr, uint32_t pm, uint32_t pdx) 475: { 476: uint32_t reg = 0; 477: reg |= (fr << AG903_VOD_MACRO1_FR_POS ) & AG903_VOD_MACRO1_FR_MSK; 478: reg |= (pm << AG903_VOD_MACRO1_PM_POS ) & AG903_VOD_MACRO1_PM_MSK; 479: reg |= (pdx << AG903_VOD_MACRO1_PDX_POS) & AG903_VOD_MACRO1_PDX_MSK; 480: AG903_VOD->MACRO1 = reg; 481: }
 
名前 
説明 
 
バックライト有効OFF期間取得 
 
バックライト有効ON期間取得 
 
バックライト制御モード取得 
 
バックライト電源OFF期間取得 
 
バックライト電源ON期間取得 
 
マクロ制御0取得 
 
マクロ制御1取得 
 
動作モード取得 
 
出力選択取得 
 
パネル電源OFF期間取得 
 
パネル電源ON期間取得 
 
PWMカウント取得 
 
PWM周期取得 
 
回路状態取得 
 
バックライト有効OFF期間設定 
 
バックライト有効ON期間設定 
 
バックライト制御モード設定 
 
バックライト電源OFF期間設定 
 
バックライト電源ON期間設定 
 
マクロ制御0設定 
 
マクロ制御1設定 
 
動作モード設定 
 
出力選択設定 
 
パネル電源OFF期間設定 
 
パネル電源ON期間設定 
 
PWMカウント設定 
 
PWM周期設定 
名前 
説明 
VODチャンネル数 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.