230 lines
12 KiB
HTML
230 lines
12 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.9.1"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>PicoVGA: Video/Library Initialization</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
|
|
<link href="custom.css" rel="stylesheet" type="text/css"/>
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">PicoVGA
|
|
 <span id="projectnumber">1.2-cmake</span>
|
|
</div>
|
|
<div id="projectbrief">VGA/TV display on Raspberry Pico</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.1 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(function(){initNavTree('group__VideoInitGroup.html',''); initResizable(); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">Video/Library Initialization</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
|
|
<p>Functions for initialzing the library. </p>
|
|
<p>The video mode can be initialized either simply by the <a class="el" href="group__VideoInitGroup.html#gae078675a223061bd05b22421d091fcc4" title="Simplified initialization of the video mode.">Video()</a> function or in more detail by the following functions. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="group__VideoModeGroup.html" title="Structures and functions for configuring video modes.">Configurating Video Mode</a> </dd></dl>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:ga635c059231b4b8c8bbf4162a9044fcd6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VideoInitGroup.html#ga635c059231b4b8c8bbf4162a9044fcd6">StartVgaCore</a> ()</td></tr>
|
|
<tr class="memdesc:ga635c059231b4b8c8bbf4162a9044fcd6"><td class="mdescLeft"> </td><td class="mdescRight">Start the VGA processing on core1. <a href="group__VideoInitGroup.html#ga635c059231b4b8c8bbf4162a9044fcd6">More...</a><br /></td></tr>
|
|
<tr class="separator:ga635c059231b4b8c8bbf4162a9044fcd6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga0e413f66204b739fdcc8c675b9226d5b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VideoInitGroup.html#ga0e413f66204b739fdcc8c675b9226d5b">VgaInitReq</a> (const <a class="el" href="structsVmode.html">sVmode</a> *vmode)</td></tr>
|
|
<tr class="memdesc:ga0e413f66204b739fdcc8c675b9226d5b"><td class="mdescLeft"> </td><td class="mdescRight">Request to initialize VGA videomode. <a href="group__VideoInitGroup.html#ga0e413f66204b739fdcc8c675b9226d5b">More...</a><br /></td></tr>
|
|
<tr class="separator:ga0e413f66204b739fdcc8c675b9226d5b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gae078675a223061bd05b22421d091fcc4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VideoInitGroup.html#gae078675a223061bd05b22421d091fcc4">Video</a> (u8 dev, u8 res, u8 form, u8 *buf, const void *buf2=FontBoldB8x16)</td></tr>
|
|
<tr class="memdesc:gae078675a223061bd05b22421d091fcc4"><td class="mdescLeft"> </td><td class="mdescRight">Simplified initialization of the video mode. <a href="group__VideoInitGroup.html#gae078675a223061bd05b22421d091fcc4">More...</a><br /></td></tr>
|
|
<tr class="separator:gae078675a223061bd05b22421d091fcc4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Function Documentation</h2>
|
|
<a id="ga635c059231b4b8c8bbf4162a9044fcd6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga635c059231b4b8c8bbf4162a9044fcd6">◆ </a></span>StartVgaCore()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void StartVgaCore </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Start the VGA processing on core1. </p>
|
|
<p>The first function that should be called in the project. Starts the second processor core with the PicoVGA library. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga0e413f66204b739fdcc8c675b9226d5b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga0e413f66204b739fdcc8c675b9226d5b">◆ </a></span>VgaInitReq()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void VgaInitReq </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="structsVmode.html">sVmode</a> * </td>
|
|
<td class="paramname"><em>vmode</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Request to initialize VGA videomode. </p>
|
|
<p>This function passes the library a pointer to the format descriptor generated by the <a class="el" href="group__VideoModeGroup.html#ga5a8c9c954becaf3532bb45f3801ca916" title="Calculate the structure for setting up the video mode.">VgaCfg()</a> function. This function does not actually initialize the video mode, it just passes the pointer to the library in the 2nd processor core and then waits for confirmation that the initialization is complete. If the video mode needs to be changed (this refers to changing the timing of the video signal and changing the type of overlay layers), it is necessary to first stop the video generation by calling the VgaInitReq function with the NULL parameter, and only then call the function with the new video mode setting. </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">vmode</td><td>Video format description generated by <a class="el" href="group__VideoModeGroup.html#ga5a8c9c954becaf3532bb45f3801ca916" title="Calculate the structure for setting up the video mode.">VgaCfg()</a> or NULL to stop driver. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__VideoModeGroup.html" title="Structures and functions for configuring video modes.">Configurating Video Mode</a> </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="gae078675a223061bd05b22421d091fcc4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#gae078675a223061bd05b22421d091fcc4">◆ </a></span>Video()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void Video </td>
|
|
<td>(</td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"><em>dev</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"><em>res</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 </td>
|
|
<td class="paramname"><em>form</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">u8 * </td>
|
|
<td class="paramname"><em>buf</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const void * </td>
|
|
<td class="paramname"><em>buf2</em> = <code>FontBoldB8x16</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Simplified initialization of the video mode. </p>
|
|
<p>This function incorporates all the video initialization and configuration functions – this one call initializes the video mode and starts the library. It supports only 1 display segment and has a limited repertoire of formats and resolutions, but may be sufficient in some cases. The function only needs to pass a pointer to the frame buffer, which is a u8 array of sufficient size for the image data. The function uses the library's default global structures (Cfg, Vmode, Canvas), otherwise the program can use the default global structures arbitrarily. When using the Video function, the initialization functions are not needed. </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">dev</td><td>Output device </td></tr>
|
|
<tr><td class="paramname">res</td><td>Resolution </td></tr>
|
|
<tr><td class="paramname">form</td><td>Graphics format </td></tr>
|
|
<tr><td class="paramname">buf</td><td>Pointer to frame buffer (must be aligned to 4-bites, use ALIGNED attribute) </td></tr>
|
|
<tr><td class="paramname">buf2</td><td>Pointer to additional buffer:<br />
|
|
<b>FORM_TILE*:</b> Pointer to column of tiles 32x32 in 8-bit graphics<br />
|
|
<b>FORM_TEXT:</b> Pointer to font 8x16 or 8x8 (size 4 KB or 2 KB, ALIGNED attribute, should be in RAM) copy font to 4KB or 2 KB RAM buffer with ALIGNED attribute text uses color attributes PC_*<br />
|
|
<b>FORM_RLE:</b> Pointer to image rows (ALIGNED attribute, should be in RAM) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|