Warning, /sdk/ktechlab/doc/en/picprograms.docbook is written in an unsupported language. File is not indexed.

0001 <!-- kate: tab-width 2; indent-mode xml; -->
0002 <chapter id="pic_programs">
0003         <title>PIC Programs</title>
0004         
0005         <sect1 id="manipulation">
0006                 <title>Manipulation</title>
0007                 
0008                 <para>When you create a FlowCode or a Text document, you'll notice a drop down menu in the toolbar with a rocket icon. From here, you can manipulate your PIC program; changing it to different forms.</para>
0009                 
0010                 <itemizedlist>
0011                                 <listitem><para><guimenuitem>Convert to &microbe;</guimenuitem> - This is used only in &flowcode; documents. This is explained further in <xref linkend="flowcode"/>.</para></listitem>
0012                         
0013                                 <listitem><para><guimenuitem>Convert to Assembly</guimenuitem> - This can be used in four contexts. When a &flowcode; document is open, it will output the &flowcode; as assembly instructions. When a &microbe; document is open, it will invoke the <command>microbe</command> program distributed with &ktechlab; to compile the program. Similarly, if a C program is open, it will attempt to compile it via SDCC. When a text document containing PIC hex is open, it will invoke <command>gpdasm</command> to disassemble the hex.</para></listitem>
0014                         
0015                                 <listitem><para><guimenuitem>Convert to Hex</guimenuitem> - This can also be used in four contexts. As with <guimenuitem>Convert to Assembly</guimenuitem>, this can be used with &flowcode;, &microbe; and C documents. It will also be enabled when an assembly document is open to assemble it via <command>gpasm</command>.</para></listitem>
0016                         
0017                                 <listitem><para><guimenuitem>Upload to PIC</guimenuitem> - This assembles the PIC program currently being edited, and uploads it using the programmer that the user has selected.</para></listitem>
0018                 </itemizedlist>
0019                 
0020                 <para>None of these actions require the current document to be saved - very useful for when a quick program is required. For non-PIC targets, the <guilabel>Output</guilabel> dialog invoked on clicking on one of these actions can either output the result (always text in the above three cases) to a fresh document, or to a file. If the output is saved to file, it also provides options to load the file after creation, and adding the newly created file to the open project (if one is open).</para>
0021                 
0022                 <para>Note that you can make &ktechlab; always use the same view for displaying the outputted content by selecting the option under <guilabel>General</guilabel> settings.</para>
0023         </sect1>
0024         
0025         <sect1 id="uploading">
0026                 <title>Uploading</title>
0027                 
0028                 <para>&ktechlab; uses third-party programmers to upload programs to PICs. A variety of common programmers come predefined. Others can be added via the <guilabel>Settings</guilabel> dialog.<!-- See the <ulink url="http://ktechlab.org/pic_programmers.php">&ktechlab; website</ulink> for more information.--></para>
0029                 
0030                 <para>The list of ports is obtained from scanning for serial and parallel ports that are readable and writable. Serial ports are looked for in:</para>
0031                         <itemizedlist>
0032                                 <listitem><para>/dev/ttyS<emphasis>[0..7]</emphasis></para></listitem>
0033                                 <listitem><para>/dev/tts/<emphasis>[0..7]</emphasis></para></listitem>
0034                                 <listitem><para>/dev/ttyUSB<emphasis>[0..7]</emphasis></para></listitem>
0035                                 <listitem><para>/dev/usb/tts/<emphasis>[0..7]</emphasis></para></listitem>
0036                         </itemizedlist>
0037                 <para>Parallel ports are looked for in:
0038                         <itemizedlist>
0039                                 <listitem><para>/dev/usb/parport<emphasis>[0..7]</emphasis></para></listitem>
0040                                 <listitem><para>/dev/usb/parports/<emphasis>[0..7]</emphasis></para></listitem>
0041                         </itemizedlist>
0042                 </para>
0043         </sect1>
0044 </chapter>