|
Introduction to Microcontroller Programming
* Course Index
* Introduction
* About the Author
* About this Course
* Feedback
* Course Navigation
* Quick Course Navigation
* How to use this Course
* Acronyms Used and Course Conventions
About PICmicro Chips
* What is a PICmicro?
* Microcontrollers
* Digital versus Analogue
* Inputs and Outputs
* Memory
* Programming
* 16F1937 Architecture
Clocking Your PICmicro Devices
* Introduction
* The Clock Circuit
* Clock Settings
* Clock Confusion
E-Blocks
* Introduction to E-blocks
* Using E-blocks
* E-blocks Boards
Flowcode Step By Step
* Introduction to Flowcode
* Basic Flowcode Functions
* Digital Outputs
* Digital Inputs
* Basic Loops
* The LCD Display
* Binary Numbers
* Decisions
* Goto (Connection Point)
* 7-Segment Displays
* Software Macro
* Strings and Memory
* A Simple Hi-Fi
PICmicro Projects
* Introduction to PICmicro Projects
* Construction Methods
* Choosing a Power Source
* Adding Inputs
* Input Conditioning
* Adding Outputs
* Adding Drivers
Labs
* Introduction and Lesson Plan
* 1. Output
* 2. Delay
* 3. Connection Point
* 4. Calculations
* 5. Loop
* 6. Input
* 7. Decision
* 8. LCD
* 9. Keypad
* 10. Analogue + EEPROM
* 11. Software Macro
* 12. External Interrupt
* 13. Timer Interrupt
|
(:Summary:Contains the 'action' links (like Browse, Edit, History, etc.), placed at the top of the page, see site page actions:)
(:comment This page can be somewhat complex to figure out the first time you see it. Its contents are documented at PmWiki.SitePageActions if you need help. :)
* Print
(:comment (:if group Site,SiteAdmin,Cookbook,Profiles,PmWiki*:) (:comment delete if and ifend to enable backlinks:)
* %item rel=nofollow class=backlinks accesskey='$[ak_backlinks]'% [[{*$Name}?action=search&q=link={*$FullName} | $[Backlinks] ]]
(:ifend:) :)
* Login
(:Summary: PmWiki group header. Includes styles and trail.:)
(:comment please leave the multiple style definitions concatenated as a single line. Linebreaks do appear in the output when the wiki is configured with linebreaks enabled -- thanks!:)
(:comment included in PmWiki localisation headers and footers :)
(:nl:)
(:Summary:Administration of PmWiki uploads:)
PmWiki includes a script called ''upload.php'' that allows users to upload files to the wiki server using a web browser. Uploaded files (also called ''attachments'') can then be easily accessed using markup within wiki pages. This page describes how to install and configure the upload feature.
Some notes about security
PmWiki takes a somewhat, but justifiable, paranoid stance
when it comes to the uploads feature. Thus, the default settings for
uploads tend to try to restrict the feature as much as possible:
* The upload function is disabled by default
* Even if you enable it, the function is password locked by default
* Even if you remove the password, you're restricted to uploading files with certain names, extensions, and sizes
* The characters that may appear in upload filenames are (default) alphanumerics, hyphen, underscore, dot, and space (see also here).
* The maximum upload size is small (50K by default)
This way the potential damage is limited until/unless the wiki
administrator explicitly relaxes the restrictions.
Keep in mind that letting users (anonymously!) upload files to your web server does entail some amount of risk. The ''upload.php'' script has been designed to reduce the hazards, but wiki administrators should be aware that the potential for vulnerabilities exist, and that misconfiguration of the upload utility could lead to unwanted consequences.
By default, authorized users are able to overwrite files that have already been uploaded, without the possibility of restoring the previous version of the file. If you want to disallow users from being able to overwrite files that have already been uploaded, add the following line to ''config.php'':
->$EnableUploadOverwrite = 0;
Alternatively, an administrator can keep older versions of uploads.
An administrator can also configure PmWiki so the password mechanism controls access to uploaded files.
Basic installation
The ''upload.php'' script is automatically included from ''stdconfig.php'' if the $EnableUpload variable is true in ''config.php''. In addition, ''config.php'' can set the $UploadDir and $UploadUrlFmt variables to specify the local directory where uploaded files should be stored, and the URL that can be used to access that directory. By default, $UploadDir and $UploadUrlFmt assume that uploads will be stored in a directory called ''uploads/'' within the current directory (usually the one containing ''pmwiki.php''). In addition, ''config.php'' should also set a default upload password (see PasswordsAdmin).
Thus, a basic ''config.php'' for uploads might look like:
->
<?php if (!defined('PmWiki')) exit();
## Enable uploads and set a site-wide default upload password.
$EnableUpload = 1;
$UploadPermAdd = 0;
$DefaultPasswords['upload'] = pmcrypt('secret');
If you have edit passwords and wish to allow all users with edit rights to upload, instead of $DefaultPasswords['upload'], you can set @@$HandleAuth['upload'] = 'edit';@@ in config.php.
'''Important''': do NOT create the uploads directory yet! See the next paragraph.
You may also need to explicitly set which filesystem directory will hold uploads and provide a URL that corresponds to that directory like:
->
$UploadDir = "/home/foobar/public_html/uploads";
$UploadUrlFmt = "http://example.com/~foobar/uploads";
Note: In most installations, you don't need to define or change these variables, usually PmWiki can detect them (and if you do, uploads may simply not work).
Upload directory configuration
Uploads can be configured ''site-wide'', ''by-group'' (default), or ''by-page'' by changing $UploadPrefixFmt in @@config.php@@.
This determines whether all uploads go in one directory for the site, an individual directory for each group, or an individual directory for each page. The default is to organize upload by group.
''It is recommended that the $UploadPrefixFmt variable defined in config.php is the same for all pages in the wiki, and not different in group or page local configuration files. Otherwise you '''will''' be unable to link to attachments in other wikigroups.''
Single upload directory
For site-wide uploads, use
->$UploadPrefixFmt = '';
Per page upload directories
To organize uploads by page, use:
->$UploadPrefixFmt = '/$Group/$Name';
You may prefer uploads attached per-page rather than per-group or per-site if you plan to have many files attached to individual pages. This setting simplifies the management of picture galleries for example. (In a page, you can always link to attachments to other pages.)
The upload directory
For the upload feature to work properly, the directory given by $UploadDir must be writable by the web server process, and it usually must be in a location that is accessible to the web somewhere (e.g., in a subdirectory of ''public_html''). Executing PmWiki with uploads enabled will prompt you with the set of steps required to create the uploads directory on your server (it differs from one server to the next). ''Note that in that case you may be required to explicitly create writable group- or page-specific subdirectories as well!''
Uploading a file
Once the upload feature is enabled, users can access the upload form by adding "@@?action=upload@@" to the end of a normal PmWiki URL. The user will be prompted for an upload password similar to the way other pages ask for passwords (see Passwords and PasswordsAdmin for information about setting passwords on pages, groups, and the entire site).
Another way to access the upload form is to insert the markup "Attach:filename.ext" into an existing page, where @@filename.ext@@ is the name of a new file to be uploaded. When the page is displayed, a '?-link' will be added to the end of the markup to take the author to the upload page. (See Uploads for syntax variations.)
By default, PmWiki will organize the uploaded files into separate subdirectories for each group. This can be changed by modifying the $UploadPrefixFmt variable. See Cookbook:UploadGroups for details.
Versioning Uploaded Files
PmWiki does not manage versioning of uploaded files by default. However, by setting @@$EnableUploadVersions=1;@@ an administrator can have older versions of uploads preserved in the uploads directory along with the most recent version.
Upload restrictions
Restricting uploaded files for groups and pages
Uploads can be enabled only for specific groups or pages by using a group customization. Simply set @@$EnableUpload=1;@@ for those groups or pages where uploading is to be enabled; alternately, set @@$EnableUpload=1;@@ in the config.php file and then set @@$EnableUpload=0;@@ in the per-group or per-page customization files where uploads are to be disabled.
Restricting total upload size for a group or the whole wiki
Uploads can be restricted to an overall size limit for groups. In the group configuration file (i.e., local/Group.php), add the line
->@@$UploadPrefixQuota = 1000000; # limit group uploads to 1000KB (1MB)@@
This will limit the total size of uploads for that group to 1000KB --any upload that pushes the total over the limit will be rejected with an error message. This value defaults to zero (unlimited).
Uploads can also be restricted to an overall size limit for all uploads. Add the line
->@@$UploadDirQuota = 10000000; # limit total uploads to 10000KB (10MB)@@
This will limit the total size of uploads for the whole wiki to 10000KB --any upload that pushes the total over the limit will be rejected with an error message. This value defaults to zero (unlimited).
Restricting uploaded files type and size
The upload script performs a number of verifications on an uploaded file before storing it in the upload directory. The basic verifications are described below.
:'''filenames''': the name for the uploaded file can contain only letters, digits, underscores, hyphens, spaces, and periods, and the name must begin and end with a letter or digit.
:'''file extension''': only files with approved extensions such as "@@.gif@@", "@@.jpeg@@", "@@.doc@@", etc. are allowed to be uploaded to the web server. This is vitally important for server security, since the web server might attempt to execute or specially process files with extensions like "@@.php@@", "@@.cgi@@", etc.
:'''file size''': By default all uploads are limited to 50K bytes, as specified by the $UploadMaxSize variable. Thus, to limit all uploads to 100KB, simply specify a new value for $UploadMaxSize in ''config.php'':
->$UploadMaxSize = 100000;
However, the default maximum file size can also be specified for each type of file uploaded. Thus, an administrator can restrict "@@.gif@@" and "@@.jpeg@@" files to 20K, "@@.doc@@" files to 200K, and all others to the size given by $UploadMaxSize. The $UploadExtSize array is used to determine which file extensions are valid and the maximum upload size (in bytes) for each file type. For example:
->$UploadExtSize['gif'] = 20000; # limit .gif files to 20KB
Disabling file upload by file type
Setting an entry to zero disables file uploads of that type altogether:
-> $UploadExtSize['zip'] = 0; # disallow .zip files
$UploadExtSize[''] = 0; # disallow files with no extension
You can limit which types of files are uploadable by disabling all defaults and specifying only desired types.
Setting the variable $UploadMaxSize to zero will disable all default file types. Individual file types may then be enabled by setting their maximum size with the variable $UploadExtSize.
-> # turns off all upload extensions
$UploadMaxSize = 0;
<:vspace>
# enable only these file types for uploading
$aSize=100000; // 100 KB file size limitation
$UploadExtSize['jpg' ] = $aSize;
$UploadExtSize['gif' ] = $aSize;
$UploadExtSize['png' ] = $aSize;
Note: Files with multiple extensions
Some installations with the Apache server will try to execute a file which name contains ".php", ".pl" or ".cgi" even if it isn't the last part of the filename. For example, a file named "test.php.txt" may be executed. To disallow such files to be uploaded, add to config.php such a line:
-> @@$UploadBlacklist = array('.php', '.pl', '.cgi');@@
Adding new file types to permitted uploads
To add a new extension to the list of allowed upload types, add a line like the following to a local customization file:
->$UploadExts['ext'] = 'content-type';
where ''ext'' is the extension to be added, and ''content-type'' is the "MIME type", or content-type (which you may find here or on the lower part of this page) to be used for files with that extension. For example, to add the 'dxf' extension with a Content-Type of 'image/x-dxf', place the line
->$UploadExts['dxf'] = 'image/x-dxf';
Each entry in $UploadExts needs to be the extension and the
mime-type associated with that extension, thus:
->
$UploadExts = array(
'gif' => 'image/gif',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'png' => 'image/png',
'xxx' => 'yyyy/zzz'
);
For the types that PmWiki already knows about it's not necessary to repeat them here (the ''upload.php'' script adds PmWiki's defaults to whatever the administrator supplies).
See also Cookbook:UploadTypes for additional types.
Other file size limits
There are other factors involved that affect upload file sizes. In Apache 2.0, there is a LimitRequestBody directive that controls the maximum size of anything that is posted (including file uploads). Apache has this defaulted to unlimited size. However, some Linux distributions (e.g., Red Hat Linux) limit postings to 512K so this may need to be changed or increased. (Normally these settings are in an ''httpd.conf'' configuration file or in a file in ''/etc/httpd/conf.d''.)
Problem noted on Red Hat 8.0/9.0 with Apache 2.0.x, the error "Requested content-length of 670955 is larger than the configured limit of 524288" was occurring under Apache and a "Page not found" would appear in the browser. Trying the above settings made no change with PHP, but on Red Hat 8.0/9.0 there is an additional PHP config file, /etc/httpd/conf.d/php.conf, and increasing the number on the line "LimitRequestBody 524288" solves the issue.
PHP itself has two limits on file uploads (usually located in @@/etc/php.ini@@). The first is the @@upload_max_filesize@@ parameter, which is set to 2MB by default. The second is @@post_max_size@@, which is set to 6MB by default.
With the variables in place--PmWiki's maximum file size, Apache's request-size limits, and the PHP file size parameters, the maximum uploaded file size will be the smallest of the three variables.
Password protecting uploaded files
Setting a read password for pages (and groups) will prevent an attached file from being seen or accessed through the page, but to prevent direct access to the file location (the uploads/ directory) one can do the following:
* In local/config.php set @@$EnableDirectDownload=0@@;
* If you use per-group upload directories (PmWiki default, see $UploadPrefixFmt), add to config.php @@$EnableUploadGroupAuth = 1;@@
* Deny public access to the uploads/ directory through moving it out of the html/ or public_html/ directory tree, or through a .htaccess file.
See Cookbook:Secure attachments
Other notes
* If uploads doesn't seem to work, make sure that your PHP installation allows uploads. The ''php.ini'' file (usually ''/etc/php.ini'' or ''/usr/local/lib/php.ini'') should have
->file_uploads = On
* Another source of error in the ''php.ini'' file is a not defined ''upload_tmp_dir''. Just set this variable to your temp directory, e.g.
->upload_tmp_dir = /tmp
Note that if you change this values, httpd must generally be restarted. Another way to check if uploads are allowed by the server is to set $EnableDiag to 1 in ''config.php'', and set ?action=phpinfo on a URL. The "@@file_uploads@@" variable must have a value of 1 (if it says "@@no value@@", that means it's off).
FAQ
>>faq<<
Q: How do I disable uploading of a certain type of file?
A: Here's an example of what to add to your ''local/config.php'' file to disable uploading of .zip files, or of files with no extension:
$UploadExtSize['zip'] = 0; # Disallow uploading .zip files
$UploadExtSize[''] = 0; # Disallow files with no extension
Q: How do I attach uploads to individual pages or the entire site, instead of organizing them by wiki group?
A: Use the $UploadPrefixFmt variable (see also the Cookbook:UploadGroups recipe).
$UploadPrefixFmt = '/$FullName'; # per-page, in Group.Name directories
$UploadPrefixFmt = '/$Group/$Name'; # per-page, in Group directories with Name subdirectories
$UploadPrefixFmt = ''; # site-wide
Q:For $UploadDirQuota - can you provide some units and numbers? Is the specification in bytes or bits? What is the number for 100K? 1 Meg? 1 Gig? 1 Terabyte?
A: Units are in bytes.
$UploadDirQuota = 100*1024; # limit uploads to 100KiB
$UploadDirQuota = 1000*1024; # limit uploads to 1000KiB
$UploadDirQuota = 1024*1024; # limit uploads to 1MiB
$UploadDirQuota = 25*1024*1024; # limit uploads to 25MiB
$UploadDirQuota = 2*1024*1024*1024; # limit uploads to 2GiB
Q: Is there a way to allow file names with Unicode or additional characters?
A: Yes, see $UploadNameChars
Q:Where is the list of attachments stored?
A: It is generated on the fly by the - 7segdemo.gif Δ ... 17,914 bytes ... April 18, 2020, at 10:57 AM
- 7segleds.jpg Δ ... 100,985 bytes ... April 18, 2020, at 10:57 AM
- 7segpins.gif Δ ... 16,974 bytes ... April 18, 2020, at 10:57 AM
- 7seg_quad.gif Δ ... 1,006 bytes ... April 18, 2020, at 10:57 AM
- 7seg_quad_comp.gif Δ ... 3,229 bytes ... April 18, 2020, at 10:57 AM
- 7seg_quad_macro.png Δ ... 25,290 bytes ... April 18, 2020, at 10:57 AM
- 7seg_quad_prog.png Δ ... 23,715 bytes ... April 18, 2020, at 10:57 AM
- 7seg_single.gif Δ ... 1,387 bytes ... April 18, 2020, at 10:57 AM
- 7seg_single.png Δ ... 447 bytes ... April 18, 2020, at 10:57 AM
- 7seg_single_comp.gif Δ ... 1,686 bytes ... April 18, 2020, at 10:57 AM
- 7seg_single_macro.png Δ ... 25,433 bytes ... April 18, 2020, at 10:57 AM
- 7seg_single_prog.png Δ ... 12,949 bytes ... April 18, 2020, at 10:57 AM
- 7seg_timing_prog.png Δ ... 22,380 bytes ... April 18, 2020, at 10:57 AM
- 7seg_timing_prog2.png Δ ... 25,494 bytes ... April 18, 2020, at 10:57 AM
- 7seg_timing_prog3.gif Δ ... 2,398 bytes ... April 18, 2020, at 10:57 AM
- 7seg_tmr0.png Δ ... 22,257 bytes ... April 18, 2020, at 10:57 AM
- 16F877A-AD.gif Δ ... 96,907 bytes ... April 18, 2020, at 10:57 AM
- 16F877A-ALU.gif Δ ... 96,613 bytes ... April 18, 2020, at 10:57 AM
- 16F877A-ARCHITECTURE.gif Δ ... 93,421 bytes ... April 18, 2020, at 10:57 AM
- 16F877A-MEMORY.gif Δ ... 96,787 bytes ... April 18, 2020, at 10:57 AM
- 16F877A-PORTINT.gif Δ ... 97,362 bytes ... April 18, 2020, at 10:57 AM
- 16F877A-PORTS.gif Δ ... 97,018 bytes ... April 18, 2020, at 10:57 AM
- 16F877A-RB0INT.gif Δ ... 97,292 bytes ... April 18, 2020, at 10:57 AM
- 16F877A-TMR0.gif Δ ... 99,177 bytes ... April 18, 2020, at 10:57 AM
- 16F877A-TMR1.gif Δ ... 99,423 bytes ... April 18, 2020, at 10:57 AM
- 16F1937.png Δ ... 101,875 bytes ... April 18, 2020, at 10:57 AM
- 4511circ.gif Δ ... 15,278 bytes ... April 18, 2020, at 10:57 AM
- 4511pins.gif Δ ... 18,110 bytes ... April 18, 2020, at 10:57 AM
- acdcsignals.gif Δ ... 7,302 bytes ... April 18, 2020, at 10:57 AM
- adcreading.png Δ ... 3,461 bytes ... April 18, 2020, at 10:56 AM
- adderblock.gif Δ ... 16,986 bytes ... April 18, 2020, at 10:57 AM
- adderflow.png Δ ... 4,915 bytes ... April 18, 2020, at 10:57 AM
- adderflow2.png Δ ... 7,928 bytes ... April 18, 2020, at 10:57 AM
- addervar.png Δ ... 35,606 bytes ... April 18, 2020, at 10:57 AM
- Alkbat.jpg Δ ... 9,314 bytes ... April 18, 2020, at 10:57 AM
- antempsig.gif Δ ... 3,350 bytes ... April 18, 2020, at 10:57 AM
- array.gif Δ ... 15,926 bytes ... April 18, 2020, at 10:57 AM
- atodgraph.gif Δ ... 13,336 bytes ... April 18, 2020, at 10:57 AM
- Bart_Huyskens.jpg Δ ... 41,090 bytes ... April 18, 2020, at 10:57 AM
- basicswitch.gif Δ ... 1,035 bytes ... April 18, 2020, at 10:57 AM
- batterelim.jpg Δ ... 7,794 bytes ... April 18, 2020, at 10:57 AM
- batteries.jpg Δ ... 57,491 bytes ... April 18, 2020, at 10:57 AM
- benchpower.jpg Δ ... 12,286 bytes ... April 18, 2020, at 10:57 AM
- blocksonmetal.gif Δ ... 15,004 bytes ... April 18, 2020, at 10:57 AM
- block_EB003.gif Δ ... 26,558 bytes ... April 18, 2020, at 10:56 AM
- block_EB003R.gif Δ ... 26,730 bytes ... April 18, 2020, at 10:56 AM
- block_EB004.gif Δ ... 21,075 bytes ... April 18, 2020, at 10:57 AM
- block_EB005.gif Δ ... 28,905 bytes ... April 18, 2020, at 10:57 AM
- block_EB006.gif Δ ... 36,074 bytes ... April 18, 2020, at 10:57 AM
- block_EB007-current.gif Δ ... 15,570 bytes ... April 18, 2020, at 10:57 AM
- block_EB007.gif Δ ... 22,551 bytes ... April 18, 2020, at 10:57 AM
- block_EB008.gif Δ ... 38,213 bytes ... April 18, 2020, at 10:57 AM
- block_EB014.gif Δ ... 25,823 bytes ... April 18, 2020, at 10:57 AM
- block_EB016-connect.gif Δ ... 69,464 bytes ... April 18, 2020, at 10:57 AM
- block_EB016.gif Δ ... 65,345 bytes ... April 18, 2020, at 10:57 AM
- block_EB017.gif Δ ... 58,025 bytes ... April 18, 2020, at 10:57 AM
- bouncetim.gif Δ ... 5,701 bytes ... April 18, 2020, at 10:57 AM
- buzzer.jpg Δ ... 3,058 bytes ... April 18, 2020, at 10:57 AM
- calcicon.gif Δ ... 1,539 bytes ... April 18, 2020, at 10:57 AM
- calcprops.png Δ ... 24,267 bytes ... April 18, 2020, at 10:57 AM
- calcpropsadd.png Δ ... 24,148 bytes ... April 18, 2020, at 10:56 AM
- callstackwindow.png Δ ... 7,460 bytes ... April 18, 2020, at 10:57 AM
- car.gif Δ ... 10,484 bytes ... April 18, 2020, at 10:57 AM
- chipconfigure1.png Δ ... 41,912 bytes ... April 18, 2020, at 10:57 AM
- chipconfigure2.png Δ ... 31,486 bytes ... April 18, 2020, at 10:57 AM
- chipconfigure3.png Δ ... 40,160 bytes ... April 18, 2020, at 10:57 AM
- chipview.png Δ ... 18,635 bytes ... April 18, 2020, at 10:57 AM
- clock_circuit.gif Δ ... 19,260 bytes ... April 18, 2020, at 10:57 AM
- comanode.gif Δ ... 10,407 bytes ... April 18, 2020, at 10:57 AM
- comcathode.gif Δ ... 9,831 bytes ... April 18, 2020, at 10:57 AM
- completesheepcounter.png Δ ... 36,406 bytes ... April 18, 2020, at 10:56 AM
- componentmacro.gif Δ ... 1,577 bytes ... April 18, 2020, at 10:56 AM
- componentstoolbar.png Δ ... 11,578 bytes ... April 18, 2020, at 10:57 AM
- contypes.jpg Δ ... 149,410 bytes ... April 18, 2020, at 10:57 AM
- counterscreen.png Δ ... 35,665 bytes ... April 18, 2020, at 10:57 AM
- covercross.gif Δ ... 11,356 bytes ... April 18, 2020, at 10:57 AM
- cpeg.png Δ ... 64,589 bytes ... April 18, 2020, at 10:57 AM
- cpeg2.png Δ ... 18,929 bytes ... April 18, 2020, at 10:57 AM
- darlington.gif Δ ... 5,518 bytes ... April 18, 2020, at 10:57 AM
- darpack.gif Δ ... 5,782 bytes ... April 18, 2020, at 10:56 AM
- ddsymbol.gif Δ ... 645 bytes ... April 18, 2020, at 10:57 AM
- debounblock1.gif Δ ... 4,701 bytes ... April 18, 2020, at 10:57 AM
- decdec1.png Δ ... 11,055 bytes ... April 18, 2020, at 10:57 AM
- decdec2.png Δ ... 43,291 bytes ... April 18, 2020, at 10:57 AM
- deciprop1.png Δ ... 14,382 bytes ... April 18, 2020, at 10:57 AM
- deciprop2.png Δ ... 17,539 bytes ... April 18, 2020, at 10:57 AM
- deciprop3.png Δ ... 17,623 bytes ... April 18, 2020, at 10:57 AM
- decisionicon.gif Δ ... 2,239 bytes ... April 18, 2020, at 10:57 AM
- delayicon.gif Δ ... 132 bytes ... April 18, 2020, at 10:57 AM
- delaytim.gif Δ ... 7,249 bytes ... April 18, 2020, at 10:57 AM
- delprop200.png Δ ... 18,387 bytes ... April 18, 2020, at 10:57 AM
- delprops.png Δ ... 15,579 bytes ... April 18, 2020, at 10:57 AM
- digsig.gif Δ ... 4,167 bytes ... April 18, 2020, at 10:57 AM
- diodeprot.gif Δ ... 9,168 bytes ... April 18, 2020, at 10:57 AM
- donebutton.jpg Δ ... 2,417 bytes ... April 18, 2020, at 10:56 AM
- downarrow.gif Δ ... 133 bytes ... April 18, 2020, at 10:57 AM
- downarrow.jpg Δ ... 1,125 bytes ... April 18, 2020, at 10:57 AM
- downstream.gif Δ ... 65,153 bytes ... April 18, 2020, at 10:56 AM
- EB003-72-2.jpg Δ ... 24,748 bytes ... April 18, 2020, at 10:57 AM
- EB004-72-2.jpg Δ ... 14,010 bytes ... April 18, 2020, at 10:57 AM
- EB005-72-3.jpg Δ ... 18,763 bytes ... April 18, 2020, at 10:57 AM
- EB006-72-5.jpg Δ ... 28,480 bytes ... April 18, 2020, at 10:57 AM
- EB007-72-1.jpg Δ ... 14,924 bytes ... April 18, 2020, at 10:57 AM
- EB008-72-1.jpg Δ ... 60,873 bytes ... April 18, 2020, at 10:56 AM
- EB014-72-1.jpg Δ ... 39,253 bytes ... April 18, 2020, at 10:57 AM
- EB016-72-1.jpg Δ ... 66,874 bytes ... April 18, 2020, at 10:57 AM
- eb01672.jpg Δ ... 66,874 bytes ... April 18, 2020, at 10:57 AM
- EB017-72-1.jpg Δ ... 79,956 bytes ... April 18, 2020, at 10:57 AM
- eb01772.jpg Δ ... 79,956 bytes ... April 18, 2020, at 10:57 AM
- ECG_system.gif Δ ... 34,988 bytes ... April 18, 2020, at 10:57 AM
- eeprom1.png Δ ... 23,547 bytes ... April 18, 2020, at 10:57 AM
- eggtimer.gif Δ ... 8,982 bytes ... April 18, 2020, at 10:57 AM
- equivcct1.gif Δ ... 25,065 bytes ... April 18, 2020, at 10:57 AM
- fire.gif Δ ... 12,258 bytes ... April 18, 2020, at 10:56 AM
- flashwhichone2.png Δ ... 35,164 bytes ... April 18, 2020, at 10:56 AM
- flowchartwindow.png Δ ... 4,454 bytes ... April 18, 2020, at 10:57 AM
- Flowcode_process.gif Δ ... 21,706 bytes ... April 18, 2020, at 10:57 AM
- fullscreen.png Δ ... 110,933 bytes ... April 18, 2020, at 10:57 AM
- fullscreen2.png Δ ... 172,785 bytes ... April 18, 2020, at 10:57 AM
- hexoutput.png Δ ... 20,103 bytes ... April 18, 2020, at 10:57 AM
- How_EB_connect.gif Δ ... 12,013 bytes ... April 18, 2020, at 10:57 AM
- hw3.jpg Δ ... 110,696 bytes ... April 18, 2020, at 10:57 AM
- iconlist.png Δ ... 5,904 bytes ... April 18, 2020, at 10:57 AM
- iconstoolbar.png Δ ... 5,596 bytes ... April 18, 2020, at 10:57 AM
- initialisedisplay.png Δ ... 6,089 bytes ... April 18, 2020, at 10:57 AM
- inputicon.gif Δ ... 1,792 bytes ... April 18, 2020, at 10:57 AM
- inputprop1.png Δ ... 19,593 bytes ... April 18, 2020, at 10:57 AM
- inputprop2.png Δ ... 19,496 bytes ... April 18, 2020, at 10:57 AM
- IntroSplashScreen.jpg Δ ... 286,192 bytes ... April 18, 2020, at 10:57 AM
- introutine.png Δ ... 9,948 bytes ... April 18, 2020, at 10:57 AM
- itm_splash.png Δ ... 801,161 bytes ... April 18, 2020, at 10:57 AM
- keypad1.png Δ ... 6,020 bytes ... April 18, 2020, at 10:57 AM
- keypadroutine1.gif Δ ... 172,220 bytes ... April 18, 2020, at 10:57 AM
- keypadroutine1.png Δ ... 38,087 bytes ... April 18, 2020, at 10:57 AM
- keysw1.jpg Δ ... 7,250 bytes ... April 18, 2020, at 10:57 AM
- kmh.gif Δ ... 9,910 bytes ... April 18, 2020, at 10:57 AM
- lab9-new.png Δ ... 55,778 bytes ... April 18, 2020, at 10:57 AM
- lcddisplay.jpg Δ ... 63,348 bytes ... April 18, 2020, at 10:57 AM
- lcdlayer.gif Δ ... 12,719 bytes ... April 18, 2020, at 10:57 AM
- lcdmod.gif Δ ... 8,355 bytes ... April 18, 2020, at 10:57 AM
- lcd_comp.gif Δ ... 3,222 bytes ... April 18, 2020, at 10:57 AM
- lcd_hello.png Δ ... 21,284 bytes ... April 18, 2020, at 10:57 AM
- lcd_hellow_dialog.gif Δ ... 8,502 bytes ... April 18, 2020, at 10:57 AM
- lcd_hello_123.png Δ ... 25,045 bytes ... April 18, 2020, at 10:57 AM
- lcd_hello_world.png Δ ... 30,187 bytes ... April 18, 2020, at 10:57 AM
- lcd_icon.gif Δ ... 1,029 bytes ... April 18, 2020, at 10:57 AM
- lcd_start.png Δ ... 26,981 bytes ... April 18, 2020, at 10:57 AM
- ldr1.jpg Δ ... 4,280 bytes ... April 18, 2020, at 10:57 AM
- Leadbat.jpg Δ ... 13,732 bytes ... April 18, 2020, at 10:57 AM
- led.gif Δ ... 1,079 bytes ... April 18, 2020, at 10:57 AM
- ledarray.gif Δ ... 2,671 bytes ... April 18, 2020, at 10:57 AM
- ledarray1.gif Δ ... 11,496 bytes ... April 18, 2020, at 10:57 AM
- ledarray2.gif Δ ... 9,829 bytes ... April 18, 2020, at 10:57 AM
- LEDarray_properties.png Δ ... 20,962 bytes ... April 18, 2020, at 10:57 AM
- ledbias.gif Δ ... 10,335 bytes ... April 18, 2020, at 10:57 AM
- ledcluster.jpg Δ ... 15,538 bytes ... April 18, 2020, at 10:57 AM
- ledinfo.gif Δ ... 11,386 bytes ... April 18, 2020, at 10:57 AM
- ledpins.png Δ ... 10,868 bytes ... April 18, 2020, at 10:57 AM
- ledpropicon.gif Δ ... 88 bytes ... April 18, 2020, at 10:57 AM
- ledprops.png Δ ... 15,443 bytes ... April 18, 2020, at 10:56 AM
- leds.jpg Δ ... 89,443 bytes ... April 18, 2020, at 10:57 AM
- leds31.gif Δ ... 924 bytes ... April 18, 2020, at 10:57 AM
- leds32.gif Δ ... 891 bytes ... April 18, 2020, at 10:57 AM
- leds130.gif Δ ... 907 bytes ... April 18, 2020, at 10:57 AM
- leds255.gif Δ ... 927 bytes ... April 18, 2020, at 10:57 AM
- leds_blank.gif Δ ... 866 bytes ... April 18, 2020, at 10:57 AM
- leds_ex2.gif Δ ... 924 bytes ... April 18, 2020, at 10:57 AM
- leds_ex3.gif Δ ... 909 bytes ... April 18, 2020, at 10:57 AM
- leds_ex4.gif Δ ... 947 bytes ... April 18, 2020, at 10:57 AM
- leftflash.png Δ ... 4,012 bytes ... April 18, 2020, at 10:57 AM
- loop3.png Δ ... 2,739 bytes ... April 18, 2020, at 10:57 AM
- loop4.png Δ ... 2,844 bytes ... April 18, 2020, at 10:57 AM
- loopproperties.png Δ ... 18,269 bytes ... April 18, 2020, at 10:57 AM
- macparam.png Δ ... 27,324 bytes ... April 18, 2020, at 10:57 AM
- macroind.png Δ ... 10,779 bytes ... April 18, 2020, at 10:57 AM
- mainhifi2.png Δ ... 5,104 bytes ... April 18, 2020, at 10:57 AM
- mem1.gif Δ ... 4,517 bytes ... April 18, 2020, at 10:57 AM
- menutoolbar.png Δ ... 8,807 bytes ... April 18, 2020, at 10:57 AM
- mic1.jpg Δ ... 3,156 bytes ... April 18, 2020, at 10:57 AM
- motors.jpg Δ ... 39,262 bytes ... April 18, 2020, at 10:57 AM
- Multiprog-ports.gif Δ ... 106,764 bytes ... April 18, 2020, at 10:57 AM
- navigation.png Δ ... 86,827 bytes ... April 18, 2020, at 10:57 AM
- newfile.png Δ ... 1,493 bytes ... April 18, 2020, at 10:57 AM
- newflashmacro.png Δ ... 26,521 bytes ... April 18, 2020, at 10:57 AM
- newmacro.png Δ ... 22,689 bytes ... April 18, 2020, at 10:57 AM
- newvaributt.jpg Δ ... 3,413 bytes ... April 18, 2020, at 10:57 AM
- nicad.jpg Δ ... 16,479 bytes ... April 18, 2020, at 10:57 AM
- onbackplane.gif Δ ... 8,346 bytes ... April 18, 2020, at 10:57 AM
- openfile.png Δ ... 1,395 bytes ... April 18, 2020, at 10:57 AM
- outputicon.gif Δ ... 1,826 bytes ... April 18, 2020, at 10:57 AM
- outputleds.gif Δ ... 14,796 bytes ... April 18, 2020, at 10:57 AM
- outputprop1.png Δ ... 22,408 bytes ... April 18, 2020, at 10:57 AM
- outputprop2.png Δ ... 19,906 bytes ... April 18, 2020, at 10:57 AM
- outputpropleft1.png Δ ... 21,538 bytes ... April 18, 2020, at 10:56 AM
- outputpropleft2.png Δ ... 21,429 bytes ... April 18, 2020, at 10:57 AM
- outputpropleft3.png Δ ... 18,028 bytes ... April 18, 2020, at 10:57 AM
- outputpropleft4.png Δ ... 17,952 bytes ... April 18, 2020, at 10:57 AM
- outputpropright1.png Δ ... 20,252 bytes ... April 18, 2020, at 10:57 AM
- outputpropright2.png Δ ... 19,883 bytes ... April 18, 2020, at 10:57 AM
- outputpropright3.png Δ ... 20,085 bytes ... April 18, 2020, at 10:57 AM
- outputpropright4.png Δ ... 20,073 bytes ... April 18, 2020, at 10:57 AM
- P0000164.jpg Δ ... 40,367 bytes ... April 18, 2020, at 10:57 AM
- panel.png Δ ... 84,719 bytes ... April 18, 2020, at 10:57 AM
- partno.jpg Δ ... 10,537 bytes ... April 18, 2020, at 10:57 AM
- patch_bottom.jpg Δ ... 140,172 bytes ... April 18, 2020, at 10:57 AM
- patch_top.jpg Δ ... 99,247 bytes ... April 18, 2020, at 10:57 AM
- pcb.jpg Δ ... 117,866 bytes ... April 18, 2020, at 10:57 AM
- phone.gif Δ ... 35,522 bytes ... April 18, 2020, at 10:57 AM
- Phone_kit_2004_72.jpg Δ ... 99,794 bytes ... April 18, 2020, at 10:57 AM
- photodi1.jpg Δ ... 2,280 bytes ... April 18, 2020, at 10:57 AM
- pic01.gif Δ ... 7,322 bytes ... April 18, 2020, at 10:57 AM
- pinout16F877A-porta.gif Δ ... 30,781 bytes ... April 18, 2020, at 10:57 AM
- pinout16F877A-portb.gif Δ ... 30,745 bytes ... April 18, 2020, at 10:57 AM
- pinout16F877A-portc.gif Δ ... 30,102 bytes ... April 18, 2020, at 10:57 AM
- pinout16F877A-portd.gif Δ ... 30,926 bytes ... April 18, 2020, at 10:57 AM
- pinout16F877A-porte.gif Δ ... 30,618 bytes ... April 18, 2020, at 10:57 AM
- pinout16F877A.gif Δ ... 29,800 bytes ... April 18, 2020, at 10:57 AM
- pinout16f1937-a.png Δ ... 48,128 bytes ... April 18, 2020, at 10:57 AM
- pinout16f1937-b.png Δ ... 48,083 bytes ... April 18, 2020, at 10:57 AM
- pinout16f1937-c.png Δ ... 47,196 bytes ... April 18, 2020, at 10:57 AM
- pinout16f1937-d.png Δ ... 48,146 bytes ... April 18, 2020, at 10:57 AM
- pinout16f1937-e.png Δ ... 48,186 bytes ... April 18, 2020, at 10:57 AM
- pinout16F1937.png Δ ... 46,958 bytes ... April 18, 2020, at 10:57 AM
- powerlines.jpg Δ ... 74,233 bytes ... April 18, 2020, at 10:57 AM
- PPPclocking.gif Δ ... 19,348 bytes ... April 18, 2020, at 10:57 AM
- prescaler.png Δ ... 23,843 bytes ... April 18, 2020, at 10:57 AM
- printfile.png Δ ... 1,436 bytes ... April 18, 2020, at 10:57 AM
- prog1step.png Δ ... 2,387 bytes ... April 18, 2020, at 10:57 AM
- projectexplorer.png Δ ... 8,433 bytes ... April 18, 2020, at 10:57 AM
- projectexplorerloop.png Δ ... 6,329 bytes ... April 18, 2020, at 10:57 AM
- projectexplorervar.gif Δ ... 4,819 bytes ... April 18, 2020, at 10:57 AM
- properties.png Δ ... 14,266 bytes ... April 18, 2020, at 10:56 AM
- protoboard.jpg Δ ... 84,524 bytes ... April 18, 2020, at 10:57 AM
- protobot.jpg Δ ... 116,621 bytes ... April 18, 2020, at 10:57 AM
- ProtoClip.gif Δ ... 14,909 bytes ... April 18, 2020, at 10:57 AM
- prototop.jpg Δ ... 106,191 bytes ... April 18, 2020, at 10:57 AM
- pushbutton.gif Δ ... 1,188 bytes ... April 18, 2020, at 10:57 AM
- pushsw1.jpg Δ ... 4,504 bytes ... April 18, 2020, at 10:57 AM
- reedsw1.jpg Δ ... 3,389 bytes ... April 18, 2020, at 10:57 AM
- ripple.gif Δ ... 7,603 bytes ... April 18, 2020, at 10:57 AM
- rotsw1.jpg Δ ... 7,582 bytes ... April 18, 2020, at 10:57 AM
- runicon.png Δ ... 1,603 bytes ... April 18, 2020, at 10:56 AM
- schmittaction.gif Δ ... 10,049 bytes ... April 18, 2020, at 10:57 AM
- schmittblock1.gif Δ ... 5,172 bytes ... April 18, 2020, at 10:57 AM
- sensor.gif Δ ... 11,870 bytes ... April 18, 2020, at 10:57 AM
- sensorpatch.gif Δ ... 11,955 bytes ... April 18, 2020, at 10:57 AM
- sensunits.gif Δ ... 5,340 bytes ... April 18, 2020, at 10:57 AM
- sharing.gif Δ ... 16,433 bytes ... April 18, 2020, at 10:57 AM
- sheep.gif Δ ... 5,943 bytes ... April 18, 2020, at 10:57 AM
- sheepcount.gif Δ ... 35,784 bytes ... April 18, 2020, at 10:57 AM
- sheepflow1.png Δ ... 4,448 bytes ... April 18, 2020, at 10:57 AM
- sheepflow2.png Δ ... 5,267 bytes ... April 18, 2020, at 10:57 AM
- sheepflow3.png Δ ... 5,536 bytes ... April 18, 2020, at 10:57 AM
- simulationdebugger.png Δ ... 7,517 bytes ... April 18, 2020, at 10:56 AM
- snooper.gif Δ ... 39,967 bytes ... April 18, 2020, at 10:57 AM
- solenoid.gif Δ ... 15,204 bytes ... April 18, 2020, at 10:57 AM
- Solenoidpic.jpg Δ ... 31,903 bytes ... April 18, 2020, at 10:57 AM
- sounder.jpg Δ ... 6,494 bytes ... April 18, 2020, at 10:57 AM
- stepcurrents.gif Δ ... 10,727 bytes ... April 18, 2020, at 10:57 AM
- stepinto.png Δ ... 1,284 bytes ... April 18, 2020, at 10:57 AM
- stepover.png Δ ... 499 bytes ... April 18, 2020, at 10:57 AM
- stepper.jpg Δ ... 38,272 bytes ... April 18, 2020, at 10:57 AM
- stepperpic.jpg Δ ... 33,662 bytes ... April 18, 2020, at 10:57 AM
- strip.jpg Δ ... 165,277 bytes ... April 18, 2020, at 10:57 AM
- sumresult.gif Δ ... 7,759 bytes ... April 18, 2020, at 10:57 AM
- switbounce.gif Δ ... 9,762 bytes ... April 18, 2020, at 10:57 AM
- switch.gif Δ ... 1,322 bytes ... April 18, 2020, at 10:57 AM
- switcharray.gif Δ ... 1,167 bytes ... April 18, 2020, at 10:57 AM
- switchbank.gif Δ ... 1,167 bytes ... April 18, 2020, at 10:57 AM
- switchcover.gif Δ ... 12,222 bytes ... April 18, 2020, at 10:57 AM
- switchpic.gif Δ ... 12,110 bytes ... April 18, 2020, at 10:57 AM
- switchunit.gif Δ ... 4,429 bytes ... April 18, 2020, at 10:57 AM
- swunit1.gif Δ ... 6,478 bytes ... April 18, 2020, at 10:57 AM
- swunit2.gif Δ ... 6,554 bytes ... April 18, 2020, at 10:57 AM
- system1.gif Δ ... 26,534 bytes ... April 18, 2020, at 10:57 AM
- system2.gif Δ ... 29,546 bytes ... April 18, 2020, at 10:57 AM
- system3.gif Δ ... 29,015 bytes ... April 18, 2020, at 10:57 AM
- system3a.gif Δ ... 30,695 bytes ... April 18, 2020, at 10:57 AM
- system4.gif Δ ... 34,002 bytes ... April 18, 2020, at 10:57 AM
- system5.gif Δ ... 28,224 bytes ... April 18, 2020, at 10:57 AM
- system6.gif Δ ... 31,068 bytes ... April 18, 2020, at 10:57 AM
- system7.gif Δ ... 34,966 bytes ... April 18, 2020, at 10:57 AM
- system8.gif Δ ... 30,249 bytes ... April 18, 2020, at 10:57 AM
- system9.gif Δ ... 34,061 bytes ... April 18, 2020, at 10:57 AM
- system10.gif Δ ... 34,697 bytes ... April 18, 2020, at 10:57 AM
- system11.gif Δ ... 37,776 bytes ... April 18, 2020, at 10:57 AM
- system12.gif Δ ... 33,913 bytes ... April 18, 2020, at 10:57 AM
- targetpic.png Δ ... 38,661 bytes ... April 18, 2020, at 10:57 AM
- tempsensor.gif Δ ... 4,390 bytes ... April 18, 2020, at 10:57 AM
- theflashmacro.png Δ ... 4,033 bytes ... April 18, 2020, at 10:57 AM
- Thermis1.jpg Δ ... 2,564 bytes ... April 18, 2020, at 10:57 AM
- thermom.gif Δ ... 3,084 bytes ... April 18, 2020, at 10:57 AM
- tiltsw1.jpg Δ ... 8,687 bytes ... April 18, 2020, at 10:57 AM
- tip120pins.gif Δ ... 2,976 bytes ... April 18, 2020, at 10:57 AM
- title_page_graphic.jpg Δ ... 97,467 bytes ... April 18, 2020, at 10:57 AM
- toggle1.jpg Δ ... 6,686 bytes ... April 18, 2020, at 10:57 AM
- toggleswitch.gif Δ ... 1,008 bytes ... April 18, 2020, at 10:57 AM
- translegs.jpg Δ ... 93,701 bytes ... April 18, 2020, at 10:57 AM
- transpics.jpg Δ ... 95,704 bytes ... April 18, 2020, at 10:57 AM
- transpinouts.gif Δ ... 10,502 bytes ... April 18, 2020, at 10:57 AM
- transwitch.gif Δ ... 5,981 bytes ... April 18, 2020, at 10:57 AM
- transymbol.gif Δ ... 2,646 bytes ... April 18, 2020, at 10:57 AM
- uln2003pins.gif Δ ... 10,250 bytes ... April 18, 2020, at 10:57 AM
- ulnstep.gif Δ ... 22,924 bytes ... April 18, 2020, at 10:57 AM
- updatedisplay.png Δ ... 6,887 bytes ... April 18, 2020, at 10:57 AM
- upstream.gif Δ ... 57,098 bytes ... April 18, 2020, at 10:57 AM
- usevarbutt.jpg Δ ... 3,086 bytes ... April 18, 2020, at 10:57 AM
- varcreate.png Δ ... 22,580 bytes ... April 18, 2020, at 10:57 AM
- variableswindow.png Δ ... 9,451 bytes ... April 18, 2020, at 10:57 AM
- vaributton.jpg Δ ... 3,476 bytes ... April 18, 2020, at 10:57 AM
- variman.png Δ ... 27,480 bytes ... April 18, 2020, at 10:57 AM
- viewoptions1.png Δ ... 30,123 bytes ... April 18, 2020, at 10:57 AM
- viewoptions2.png Δ ... 29,948 bytes ... April 18, 2020, at 10:57 AM
- viewoptions3.png Δ ... 33,623 bytes ... April 18, 2020, at 10:57 AM
- viewoptions4.png Δ ... 26,988 bytes ... April 18, 2020, at 10:57 AM
- voltdiv1.gif Δ ... 3,184 bytes ... April 18, 2020, at 10:57 AM
- voltdiv2.gif Δ ... 5,475 bytes ... April 18, 2020, at 10:57 AM
- voltdiv3.gif Δ ... 4,397 bytes ... April 18, 2020, at 10:57 AM
- webaccess.png Δ ... 13,829 bytes ... April 18, 2020, at 10:57 AM
- wholeflow.png Δ ... 55,107 bytes ... April 18, 2020, at 10:57 AM
- wholehifi.png Δ ... 36,194 bytes ... April 18, 2020, at 10:57 AM
- wholeinterrupt.png Δ ... 23,974 bytes ... April 18, 2020, at 10:57 AM
- withcover.gif Δ ... 43,798 bytes ... April 18, 2020, at 10:57 AM
- x.png Δ ... 1,534 bytes ... April 18, 2020, at 10:56 AM
- ZIF.jpg Δ ... 60,480 bytes ... April 18, 2020, at 10:57 AM
- zinc1.jpg Δ ... 5,796 bytes ... April 18, 2020, at 10:57 AM
markup.
(:nl:)(:Summary:Trail and talk page links:)
(:comment included in PmWiki localisation headers and footers :)
<<?
>>bgcolor=#ffe border-top="1px solid black" font-size=.8em<<
This page may have a talk page: PmWiki:UploadsAdmin-Talk.
>><<
|