Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: https://forums.parallax.com/categories/propeller-1-multicore-microcontroller/feed.rss

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <rss version="2.0"
  3.    xmlns:content="http://purl.org/rss/1.0/modules/content/"
  4.    xmlns:dc="http://purl.org/dc/elements/1.1/"
  5.    xmlns:atom="http://www.w3.org/2005/Atom">
  6.    <channel>
  7.        <title>Propeller 1 — Parallax Forums</title>
  8.        <link>https://forums.parallax.com/</link>
  9.        <pubDate>Mon, 02 Dec 2024 07:06:09 +0000</pubDate>
  10.        <language>en</language>
  11.            <description>Propeller 1 — Parallax Forums</description>
  12.    <atom:link href="https://forums.parallax.com/categories/propeller-1-multicore-microcontroller/feed.rss" rel="self" type="application/rss+xml"/>
  13.    <item>
  14.        <title>Propeller FLIP 32123  40pin dip package, where is SPI</title>
  15.        <link>https://forums.parallax.com/discussion/176033/propeller-flip-32123-40pin-dip-package-where-is-spi</link>
  16.        <pubDate>Sun, 10 Nov 2024 15:25:43 +0000</pubDate>
  17.        <category>Propeller 1</category>
  18.        <dc:creator>Sunshine436</dc:creator>
  19.        <guid isPermaLink="false">176033@/discussions</guid>
  20.        <description><![CDATA[<p>Assembled the prototype board have the FLIP module there, now looking for info about programming the SPI?</p>
  21.  
  22. <p>Im not finding a datasheet or info except for I2c I had called in and explained the SPI requirement and was recommended to get this.</p>
  23.  
  24. <p>Am programming a Micron flash NOR memory 8pin package.  just need an SPI master to r/w</p>
  25.  
  26. <p>problem is, the memory DATA IN and DATA OUT are multiplexed into a chip, so you have DATA and dataDIR.  to program it, you pull direction low connecting the MOSI to the data in.  then after that command write finishes that dataDIR has to be driven high to connect the MISO to data out</p>
  27.  
  28. <p>so Im trying to find an SPI routine where I can just change a pin, some general purpose DataIO pin high/low as data direction.  its not fast, maybe a 1Mhz r/w</p>
  29.  
  30. <p>does anyone use this board for SPI?  thanks</p>
  31. ]]>
  32.        </description>
  33.    </item>
  34.    <item>
  35.        <title>Reading a MAX 31855</title>
  36.        <link>https://forums.parallax.com/discussion/171927/reading-a-max-31855</link>
  37.        <pubDate>Tue, 28 Jul 2020 23:31:17 +0000</pubDate>
  38.        <category>Propeller 1</category>
  39.        <dc:creator>eagletalontim</dc:creator>
  40.        <guid isPermaLink="false">171927@/discussions</guid>
  41.        <description><![CDATA[Going to need a bit of help on this one.  I am working with the M31855K and am trying to write a SPIN function to read the temperature of the type K sensor.  I have found the Github example, but it appears to only work with Prop 2?  New to that area...  The Github example seems to be missing several things and I can't seem to get it to run.  So...  I am wanting to just write my own function in the Prop Tool.<br /><br />
  42. After looking at the <a href="https://datasheets.maximintegrated.com/en/ds/MAX31855.pdf" rel="nofollow">Data Sheet</a>, I am a bit confused.  It looks like I need to pull CS low, then begin pulsing SCK to receiving in data on SO.  There are 32 bits that would need to be read, filled into an array, and then the first 14 bits would be the temperature?  Not sure I understand how to convert those 14 bits to a human readable temperature.  Any help is greatly appreciated!]]>
  43.        </description>
  44.    </item>
  45.    <item>
  46.        <title>P1 Serial SBUS out Driver</title>
  47.        <link>https://forums.parallax.com/discussion/173165/p1-serial-sbus-out-driver</link>
  48.        <pubDate>Thu, 18 Mar 2021 10:07:39 +0000</pubDate>
  49.        <category>Propeller 1</category>
  50.        <dc:creator>pic18f2550</dc:creator>
  51.        <guid isPermaLink="false">173165@/discussions</guid>
  52.        <description><![CDATA[<p>Hello,<br />
  53. I am looking for some PASM code(P1) on the subject.<br />
  54. I want to control several servos over one line.</p>
  55.  
  56. <p>Thanks.</p>
  57.  
  58. <p>I have pasted the last status here. <img src="https://forums.parallax.com/resources/emoji/smile.png" title=":)" alt=":)" height="20" /></p>
  59. ]]>
  60.        </description>
  61.    </item>
  62.    <item>
  63.        <title>PropTool 2.9.3 fails loading a (not too) large P1 program</title>
  64.        <link>https://forums.parallax.com/discussion/175762/proptool-2-9-3-fails-loading-a-not-too-large-p1-program</link>
  65.        <pubDate>Wed, 06 Mar 2024 20:55:10 +0000</pubDate>
  66.        <category>Propeller 1</category>
  67.        <dc:creator>Ding-Batty</dc:creator>
  68.        <guid isPermaLink="false">175762@/discussions</guid>
  69.        <description><![CDATA[<p>This is about the "Error: communication stalled due to system problem" that seems to happen sometimes. I started seeing that failure after installing V2.9.3, but only for some of my programs, and it seemed to happen only with the largest program images.</p>
  70.  
  71. <p>In fact, the large program is loaded, but PropTool reports a communications failure.</p>
  72.  
  73. <p>I have reduced the problem to a simple test program, which has a large LONG array in a DAT section, and when the size is increased by <em>one LONG</em>, the failure is triggered.</p>
  74.  
  75. <p>Program (also attached as no_op_memory.spin):</p>
  76.  
  77. <pre spellcheck="false" tabindex="0">CON { General constants }
  78.  _CLKMODE = XTAL1 + PLL16X
  79.  _XINFREQ = 5_000_000
  80.  
  81. DAT
  82.  ' Make the binary image big. Too big, and P1 load fails in PropTool 2.9.3 on
  83.  ' a Windows 7 machine with the latest FTDI drivers.
  84.  'KeepMemory     LONG 0[6083]    ' Loads OK
  85.  KeepMemory     LONG 0[6083 + 1] ' Fails
  86.  
  87.  ' PropTool error dialog:
  88.  '   "Error: communication stalled due to system problem"
  89.  
  90. ' ========================================================================
  91. PUB Main
  92.  repeat  ' wait forvever.
  93. </pre>
  94.  
  95. <p>This happens after a fresh install of 2.9.3. It does not happen with the old PropTool  1.3.2, nor the other Spin compilers.</p>
  96.  
  97. <p>My system:<br />
  98. Window 7, 32GiB memory<br />
  99. latest FTDI drivers, downloaded today from the FTDI website (I had originally allowed the PropTool installer to also install its USB drivers, but I saw the driver version seemed to be from 2016.)</p>
  100.  
  101. <p>I tried quite a few settings variations for the COM port (Advanced settings), but nothing seemed to help.</p>
  102.  
  103. <p>I saw that Prof. Braino (@profbraino) had <a rel="nofollow" href="https://forums.parallax.com/discussion/175427/error-communication-stalled-due-to-system-problem-prop-tool-2-9-3-prop-1">reported this back in Aug. 2023</a>, and I was surprised that no one responded.</p>
  104. ]]>
  105.        </description>
  106.    </item>
  107.    <item>
  108.        <title>Music Synthesizer object with General MIDI sound set</title>
  109.        <link>https://forums.parallax.com/discussion/111867/music-synthesizer-object-with-general-midi-sound-set</link>
  110.        <pubDate>Tue, 07 Apr 2009 01:01:34 +0000</pubDate>
  111.        <category>Propeller 1</category>
  112.        <dc:creator>Ariba</dc:creator>
  113.        <guid isPermaLink="false">111867@/discussions</guid>
  114.        <description><![CDATA[Hello Propeller musicians<br /><br />
  115. I have worked on a Propeller music synthesizer, and will present here my result.<br />
  116. The goal was to have a synthesizer object which is good enough to play<br />
  117. MIDI files. For that you need a synth with min. 24 voices and a GM1 soundset<br />
  118. (General-MIDI soundset) with 128 different instrumental sounds and a drum<br />
  119. sound set (another 46 sounds).<br />
  120. Normally such a synthesizer works with Sound samples, but this is not possible<br />
  121. with the 32k RAM of the Propeller. So I designed a voice architecture, with<br />
  122. 2 oscillators and PhaseModulation synthesis (FM like). See attachement 1. I was<br />
  123. surprised, how many different sounds this relatively simple arrangement, can produce.<br />
  124. Only 10 parameter bytes to define a sound are necessary. You get also a lot of<br />
  125. noise sounds, thanks to the Feedback parameter (good for drums).<br />
  126. Because the Propeller has no hardware multiplier, I use only 1 multiplication with<br />
  127. 7*32 bit for the DCA, and all other attenuators are done with single right shifts.<br /><br />
  128. At the end I got a Spin object, which can produce 10 voices in 1 cog, or 20 voices in<br />
  129. 2 cogs. This is quite a bit under 24 voices, but the lack of voices is mostly not<br />
  130. noticeable. More noticeable is the missing pitch bender support, so some MIDI files<br />
  131. can produce odd notes from time to time.<br /><br />
  132. Supported are the volume and panorama controller, thats why I recommend a stereo output.<br />
  133. It was a hard work to find the parameters for all this sounds, and many are still not<br />
  134. optimal.<br /><br />
  135. The Interface methodes of the Synthesizer object are easy to use and takes direct the<br />
  136. MIDI values for Note, Dynamic, Volume and so on. It should not be hard to make a<br />
  137. MIDI synthesizer expander, with a Propeller and a MIDI input.<br /><br />
  138. Included in the ZIP is a MIDI player demo, which plays a list of '*.mid' files (5 are<br />
  139. included). For that you need an SD card. The MIDI player reads the MIDI data direct<br />
  140. from SD card, without buffering in RAM, therefore the MIDI files must be in Format 0<br />
  141. (all tracks mixed down to one). Copy the midi files first to the SD card, and set the<br />
  142. SD card basepin and your Audio output pins in the CON section of the demo, before you<br />
  143. start the demo.<br /><br />
  144. Most MIDI files, you find on the NET are in Format 1, so I have used the software<br />
  145. WaveMaker III to convert the files (the Edit function lets you save a file in Format 0).<br />
  146. If somebody knows a better (free) Tool for that, I like to here it, because I have some<br />
  147. files which are to big for WaveMaker.<br /><br />
  148. Listen to the music, and enjoy<br /><br />
  149. Andy]]>
  150.        </description>
  151.    </item>
  152.    <item>
  153.        <title>Help finding old audio synthesizer project</title>
  154.        <link>https://forums.parallax.com/discussion/175993/help-finding-old-audio-synthesizer-project</link>
  155.        <pubDate>Sun, 22 Sep 2024 00:46:29 +0000</pubDate>
  156.        <category>Propeller 1</category>
  157.        <dc:creator>octetta</dc:creator>
  158.        <guid isPermaLink="false">175993@/discussions</guid>
  159.        <description><![CDATA[<p>I’ve been searching for an old prop1 project that I think was modeled like the Casio CZ phase distortion keyboard. I think it was shipped with a bunch of patches. Does anyone know if this is real or something I made up in my imagination?</p>
  160. ]]>
  161.        </description>
  162.    </item>
  163.    <item>
  164.        <title>Boot issue with 5v on inputs</title>
  165.        <link>https://forums.parallax.com/discussion/175978/boot-issue-with-5v-on-inputs</link>
  166.        <pubDate>Thu, 29 Aug 2024 13:30:04 +0000</pubDate>
  167.        <category>Propeller 1</category>
  168.        <dc:creator>Graham Stabler</dc:creator>
  169.        <guid isPermaLink="false">175978@/discussions</guid>
  170.        <description><![CDATA[<p>Hi all,</p>
  171.  
  172. <p>It's been a long time.</p>
  173.  
  174. <p>I'm using a FLiP module along with some external solid state relays for an automation project. These switch 5v to the inputs of the propeller, I use a 10k pull down resistors and a 300 ohm resistor in series to protect the input.</p>
  175.  
  176. <p>I find that if I boot the system using the same 5v supply that provides these signals that the propeller does not boot, no issue with the power LED though. If I boot from the USB and then power the system with the 5v there is no problem. Likewise if I remove the solid state relays from their holders I don't have an issue so it seems like it does not like having 5v on the pins on boot.</p>
  177.  
  178. <p>This is on site being used in a system so I've no had a lot of time to debug but will be working on it tomorrow.</p>
  179.  
  180. <p>Cheers,</p>
  181.  
  182. <p>Graham</p>
  183. ]]>
  184.        </description>
  185.    </item>
  186.    <item>
  187.        <title>3D STEP file for Propeller 1 FLIP module?</title>
  188.        <link>https://forums.parallax.com/discussion/175961/3d-step-file-for-propeller-1-flip-module</link>
  189.        <pubDate>Sat, 17 Aug 2024 03:41:22 +0000</pubDate>
  190.        <category>Propeller 1</category>
  191.        <dc:creator>DavidM</dc:creator>
  192.        <guid isPermaLink="false">175961@/discussions</guid>
  193.        <description><![CDATA[<p>Hi,</p>
  194.  
  195. <p>Does anyone have a 3D step file for the FLIP Module?<br />
  196. I am using this module in a design in Fusion 360 Electronics.</p>
  197.  
  198. <p>If anyone can help?</p>
  199.  
  200. <p>Thanks</p>
  201.  
  202. <p>Dave M</p>
  203. ]]>
  204.        </description>
  205.    </item>
  206.    <item>
  207.        <title>Need help with numbers...</title>
  208.        <link>https://forums.parallax.com/discussion/175954/need-help-with-numbers</link>
  209.        <pubDate>Thu, 01 Aug 2024 02:54:43 +0000</pubDate>
  210.        <category>Propeller 1</category>
  211.        <dc:creator>Theseus88</dc:creator>
  212.        <guid isPermaLink="false">175954@/discussions</guid>
  213.        <description><![CDATA[<p>I need help converting ASCII to decimal. I built a little rover and I use two propeller chips. One runs the motors and the other will eventually monitor an IMU and proximity sensors. The two chips need to communicate though. I am using Dec and DecIn from the Parallax Serial Terminal.spin to send commands back and forth but I am having trouble... What could I do here... I have provided code...</p>
  214.  
  215. <p>Primary Controller Code:</p>
  216.  
  217. <pre spellcheck="false" tabindex="0">PRI StartMotors(FrontLeftDuty, FrontRightDuty, BackLeftDuty, BackRightDuty, Frequency)
  218.  
  219.  repeat
  220.    propeller.Dec(3)
  221.    Command := propeller.DecIn
  222.    if (Command == 1)
  223.      quit
  224.  repeat
  225.    propeller.Dec(FrontLeftDuty)
  226.    Command := propeller.DecIn
  227.    if (Command == 1)
  228.      quit
  229.  repeat
  230.    propeller.Dec(FrontRightDuty)
  231.    Command := propeller.DecIn
  232.    if (Command == 1)
  233.      quit
  234.  repeat
  235.    propeller.Dec(BackLeftDuty)
  236.    Command := propeller.DecIn
  237.    if (Command == 1)
  238.      quit
  239.  repeat
  240.    propeller.Dec(BackRightDuty)
  241.    Command := propeller.DecIn
  242.    if (Command == 1)
  243.      quit
  244.  repeat
  245.    propeller.Dec(Frequency)
  246.    Command := propeller.DecIn
  247.    if (Command == 1)
  248.      quit
  249. </pre>
  250.  
  251. <p>Motor Controller Code:</p>
  252.  
  253. <pre spellcheck="false" tabindex="0">PRI ListenForCommands | FrontLeftDuty, FrontRightDuty, BackLeftDuty, BackRightDuty, Frequency
  254.  
  255.  terminal.Str(String("Listening For Commands", terminal#NL))
  256.  propeller.Clear
  257.  repeat
  258.    Command := propeller.DecIn
  259.    terminal.Str(String("Command Received: "))
  260.    case Command
  261.          1 : terminal.Str(String("Are You There?", terminal#NL))
  262.              propeller.Dec(1)
  263.          2 : terminal.Str(String("Stop Motors", terminal#NL))
  264.              propeller.Dec(1)
  265.              StopMotors
  266.          3 : terminal.Str(String("Start Motors", terminal#NL))
  267.              propeller.Dec(1)
  268.              FrontLeftDuty := propeller.DecIn
  269.              propeller.Dec(1)
  270.              FrontRightDuty := propeller.DecIn
  271.              propeller.Dec(1)
  272.              BackLeftDuty := propeller.DecIn
  273.              propeller.Dec(1)
  274.              BackRightDuty := propeller.DecIn
  275.              propeller.Dec(1)
  276.              Frequency := propeller.DecIn
  277.              propeller.Dec(1)
  278.              StartMotors(FrontLeftDuty, FrontRightDuty, BackLeftDuty, BackRightDuty, Frequency)
  279.      other : propeller.Dec(-1)
  280.  
  281. </pre>
  282. ]]>
  283.        </description>
  284.    </item>
  285.    <item>
  286.        <title>P1 counters can you configure a counter to divide a freq on one pin and output it on another?</title>
  287.        <link>https://forums.parallax.com/discussion/175776/p1-counters-can-you-configure-a-counter-to-divide-a-freq-on-one-pin-and-output-it-on-another</link>
  288.        <pubDate>Tue, 19 Mar 2024 00:59:55 +0000</pubDate>
  289.        <category>Propeller 1</category>
  290.        <dc:creator>Kurt123</dc:creator>
  291.        <guid isPermaLink="false">175776@/discussions</guid>
  292.        <description><![CDATA[<p>Hello<br />
  293. I want to divide a pulse train on one pin and output it on another pin. Looking at the documentation I can't understand counters enough to figure it out.<br />
  294. Any help would be appreciated.<br />
  295. Thanks<br />
  296. Kurt</p>
  297. ]]>
  298.        </description>
  299.    </item>
  300.    <item>
  301.        <title>Spin2 equivalent of cnt</title>
  302.        <link>https://forums.parallax.com/discussion/175956/spin2-equivalent-of-cnt</link>
  303.        <pubDate>Fri, 02 Aug 2024 21:37:18 +0000</pubDate>
  304.        <category>Propeller 1</category>
  305.        <dc:creator>celtic3</dc:creator>
  306.        <guid isPermaLink="false">175956@/discussions</guid>
  307.        <description><![CDATA[<p>What is the spin2 equivalent to this line of code.....<br />
  308. '''<br />
  309. waitcnt(clkfreq + cnt)<br />
  310. '''<br />
  311. I cannot locate anything except CNT is a constant and waitcnt is waitct</p>
  312. ]]>
  313.        </description>
  314.    </item>
  315.    <item>
  316.        <title>I2c slave</title>
  317.        <link>https://forums.parallax.com/discussion/175953/i2c-slave</link>
  318.        <pubDate>Thu, 25 Jul 2024 17:36:44 +0000</pubDate>
  319.        <category>Propeller 1</category>
  320.        <dc:creator>David Betz</dc:creator>
  321.        <guid isPermaLink="false">175953@/discussions</guid>
  322.        <description><![CDATA[<p>Can the P1 be used as an i2c slave? I’d like to attach it to the i2c port on a Raspberry Pi and also use 4 instances of JonnyMac’s 1-wire object to act as sort of an 1-wire expander plus a little logic. I seem to recall that being a SPI slave was difficult and wondered if i2c had similar problems.</p>
  323. ]]>
  324.        </description>
  325.    </item>
  326.    <item>
  327.        <title>Phonemic Speech Synthesis (3rd installment, 7 Nov 2006)</title>
  328.        <link>https://forums.parallax.com/discussion/89411/phonemic-speech-synthesis-3rd-installment-7-nov-2006</link>
  329.        <pubDate>Wed, 01 Nov 2006 08:44:55 +0000</pubDate>
  330.        <category>Propeller 1</category>
  331.        <dc:creator>Phil Pilgrim (PhiPi)</dc:creator>
  332.        <guid isPermaLink="false">89411@/discussions</guid>
  333.        <description><![CDATA[Attached is a <i>very</i> crude attempt at speech synthesis using Chip's recently posted VocalTract object. The "talk" object is quite rough around the edges, and to say that some of my phonemes are barely intelligible gives them <i>way</i> too much credit. But maybe with input from the community and some fine tuning (okay, coarse tuning), the quality can be improved over time. Chip's marvelously compact object has everything that's needed for intelligible speech. But like any tool of its utility and complexity, it needs to be mastered; and that takes time.<br /><br />
  334. I've relied heavily on <a href="http://www.ling.ohio-state.edu/courses/materials/825/klsyn-dos/klsynman.pdf" rel="nofollow"><u>this paper</u></a> for the formant values used in the program. The internet has many other valuable resources for synthesized speech, some dating back decades. This can be a problem, too, since much of the seminal work on the subject was done before the internet existed, and the resulting papers have likely never been converted to machine-readable form and posted.<br /><br />
  335. Much of what is done here via individual argument lists might more efficiently be accomplished by table-driven methods. But in its current form, it's somewhat more readable, which is important for development and debugging. Plus it makes playing with the settings a little easier.<br /><br />
  336. The attached archive includes the latest (v1.02) IDE/compiler exe. If you haven't already installed that version, copy the exe from the ZIP over the existing copy in your Propeller IDE directory.<br /><br />
  337. Anyway, for what it's worth, enjoy!<br /><br />
  338. -Phil<br /><br /><b>Update (2006.11.04):</b> Attached is a somewhat improved version. Some of the consonants are better, there are more demos, and I've added whispering and a <b>spell</b> procedure. 'Still some extraneous popping and hissing to cure.<br /><br /><b>Update (2006.11.07):</b> Added inflections, rolled r's, better musical notation, on-the-fly tempo adjustments, multiple speakers.<br /><br /><i>Post Edited (Phil Pilgrim (PhiPi)) : 11/8/2006 6:26:51 AM GMT</i>]]>
  339.        </description>
  340.    </item>
  341.    <item>
  342.        <title>speech output</title>
  343.        <link>https://forums.parallax.com/discussion/140219/speech-output</link>
  344.        <pubDate>Mon, 21 May 2012 14:20:48 +0000</pubDate>
  345.        <category>Propeller 1</category>
  346.        <dc:creator>mikea</dc:creator>
  347.        <guid isPermaLink="false">140219@/discussions</guid>
  348.        <description><![CDATA[Hi, i'm learning the propeller and would like some advice on how to best output speech. I found an object on obex    " AYcog - AY3891X / YM2149F emulator V0.8 (C) 2012 Johannes Ahlebrand " , I'm not sure where to start with this, or if it's right for me. I have an 8 ohm mini speaker from radio shack to work with.Any advice would be appreciated.- mike]]>
  349.        </description>
  350.    </item>
  351.    <item>
  352.        <title>CAN FD</title>
  353.        <link>https://forums.parallax.com/discussion/175927/can-fd</link>
  354.        <pubDate>Wed, 10 Jul 2024 07:51:38 +0000</pubDate>
  355.        <category>Propeller 1</category>
  356.        <dc:creator>David Betz</dc:creator>
  357.        <guid isPermaLink="false">175927@/discussions</guid>
  358.        <description><![CDATA[<p>Has anyone implemented the CAN FD protocol on the P1 (or P2)? If so, how fast can it go?</p>
  359. ]]>
  360.        </description>
  361.    </item>
  362.    <item>
  363.        <title>simple ide question wifi  semi solved with a new queston based on the fix.  SOLVED</title>
  364.        <link>https://forums.parallax.com/discussion/175913/simple-ide-question-wifi-semi-solved-with-a-new-queston-based-on-the-fix-solved</link>
  365.        <pubDate>Sun, 16 Jun 2024 06:48:46 +0000</pubDate>
  366.        <category>Propeller 1</category>
  367.        <dc:creator>pilot0315</dc:creator>
  368.        <guid isPermaLink="false">175913@/discussions</guid>
  369.        <description><![CDATA[<p>Trying something else before sending the question through.</p>
  370.  
  371. <p>That idea did not work.<br />
  372. So I am back again with the question. Simple ide does not see the prop via wifi.<br />
  373. Using wifi.start routine does not work.<br />
  374. The connect file is directly from the learn files.<br />
  375. Any ideas any one please.<br />
  376. @VonSzarvas</p>
  377.  
  378. <p>Tried your suggestion. Cannot get into simple ide to change anything.<br />
  379. Thanks.<br />
  380. Martin</p>
  381. ]]>
  382.        </description>
  383.    </item>
  384.    <item>
  385.        <title>Microcomputer</title>
  386.        <link>https://forums.parallax.com/discussion/175347/microcomputer</link>
  387.        <pubDate>Sat, 06 May 2023 22:58:50 +0000</pubDate>
  388.        <category>Propeller 1</category>
  389.        <dc:creator>NickMikhay</dc:creator>
  390.        <guid isPermaLink="false">175347@/discussions</guid>
  391.        <description><![CDATA[<p>Hello,</p>
  392.  
  393. <p>I have been following several articles online on homebrew computers using vintage chips from Intel or Zilog as well as a few others, and I was thinking it would be great to use a Propeller or even a P2 as the main processor.</p>
  394.  
  395. <p>The question is on how to get started with the operating system, so that you would’t have to upload the program when you write spin programs and compile. If spin the tool simply tokenizes the code and translates it to binary, wouldn’t that be easy enough for the propeller to do this on its own.</p>
  396.  
  397. <p>It sounds to me like tokenizing is a lot like parsing which is just translating text data from one form to another? I have done this before on a gerberx2 file to convert it to g-code.</p>
  398.  
  399. <p>If anyone can help, I would appreciate it, just name your price. I have always wanted to build a computer from scratch and code it up with an interpreter, and make it do all kinds of stuff. In fact I had the idea while I was attending class, but due to deadlines decided not to since I wouldn’t be able to complete it in time for my final project.</p>
  400. ]]>
  401.        </description>
  402.    </item>
  403.    <item>
  404.        <title>P1 upload Protocol to EEPROM</title>
  405.        <link>https://forums.parallax.com/discussion/175905/p1-upload-protocol-to-eeprom</link>
  406.        <pubDate>Sat, 08 Jun 2024 12:34:06 +0000</pubDate>
  407.        <category>Propeller 1</category>
  408.        <dc:creator>pic18f2550</dc:creator>
  409.        <guid isPermaLink="false">175905@/discussions</guid>
  410.        <description><![CDATA[<p>Hello,<br />
  411. is the protocol described somewhere how the upload is done in the P1 into the EPROM?</p>
  412. ]]>
  413.        </description>
  414.    </item>
  415.    <item>
  416.        <title>P8X32A Emulation on Tang20K FPGA</title>
  417.        <link>https://forums.parallax.com/discussion/175828/p8x32a-emulation-on-tang20k-fpga</link>
  418.        <pubDate>Tue, 23 Apr 2024 14:54:39 +0000</pubDate>
  419.        <category>Propeller 1</category>
  420.        <dc:creator>ti85</dc:creator>
  421.        <guid isPermaLink="false">175828@/discussions</guid>
  422.        <description><![CDATA[<p>I came across a newer, low-cost FPGA called the Tang20K. I'm wondering if anyone has experience with it and the feasibility of running P8X32A emulation on this platform. Parallax has provided the Verilog files, but I'm unfamiliar with Verilog or hardware coding in general.</p>
  423.  
  424. <p>My question is: what steps would be necessary to get the Propeller 1 running on the Tang20K (if possible at all)? I'm interested in pursuing this because I'd like to explore options for increasing the Propeller 1's processing power, such as expanding hub RAM or adding more cogs.</p>
  425. ]]>
  426.        </description>
  427.    </item>
  428.    <item>
  429.        <title>Yet Another WS2812/SK6812 Driver</title>
  430.        <link>https://forums.parallax.com/discussion/175898/yet-another-ws2812-sk6812-driver</link>
  431.        <pubDate>Thu, 30 May 2024 21:27:42 +0000</pubDate>
  432.        <category>Propeller 1</category>
  433.        <dc:creator>Ding-Batty</dc:creator>
  434.        <guid isPermaLink="false">175898@/discussions</guid>
  435.        <description><![CDATA[<p>Just uploaded to the ObEx: Yet Another WS2812/SK6812 driver<br /><a rel="nofollow" href="https://obex.parallax.com/obex/yet-another-ws2812-sk6812-driver/">https://obex.parallax.com/obex/yet-another-ws2812-sk6812-driver/<br /></a></p>
  436.  
  437. <p>This driver manages one or two strings of WS2812-like addressable RGB LEDs. It handles mapping the color layout in memory to the color output order of different type of LEDs; it handles mapping the timing requirements of the LEDs based on the system clock speed; it is fairly flexible in how it is configured and controlled.</p>
  438.  
  439. <p>Features:</p>
  440.  
  441. <ul><li>Controls one or two strings of LEDs</li>
  442. <li>Normal or inverted output (for use with an inverting buffer/isolator/level-shifter).</li>
  443. <li>Clock cycle accurate timings in all cases (maximum 1/2 system clock error).</li>
  444. <li>Handles either three or four color LED string (with limitations, see below).</li>
  445. <li><p>Flexible configuration:</p>
  446.  
  447. <ul><li>Predefined configurations for:</li>
  448. <li>WS2811, WS2812, WS2812B, WS2813, WS2815</li>
  449. <li>SK6812RGB, SK6812RGBW</li>
  450. <li>SM16703</li>
  451. <li>User defined configurations:</li>
  452. <li>Should work for all LEDs that use pulse-width encoding of 0/1, with fixed time per bit.</li>
  453. <li>Timing specified in nanoseconds.</li>
  454. <li>The two strings can be different types (with a few limitations)</li>
  455. <li>The two strings can have different lengths</li>
  456. <li>The two strings can use different color byte order.</li>
  457. <li>The two strings can have normal/inverted output independently</li>
  458. <li>Flexible memory layout for colors per LED, and iteration over the memory locations for the individual LEDs in a chain.</li>
  459. </ul></li>
  460. <li><p>Should work for all clock speeds from 48 MHz up for a typical RGB LED that uses a 1.25 us bit time.</p>
  461.  
  462. <ul><li>It might work at 40 MHz, which would use a bit time of 1.5 us, which is 20% too long, but might fall within the acceptable tolerance for many LED types.</li>
  463. </ul></li>
  464. <li><p>Periodic refresh (e.g. 100 Hz), or on-demand refresh (refresh-and-pause)</p></li>
  465. </ul><p>Limitations:</p>
  466.  
  467. <ul><li>Typically requires a system clock of 48 MHz or higher.</li>
  468. <li>The two strings must have the same overall bit timing (but the zero and one times per bit may be different), e.g. 1.25 us as used by WS2812-type LEDs)</li>
  469. <li>The two strings must have the same number of colors, either 3 or 4. Four colors are used for RGBW LEDs.</li>
  470. <li>Color values of 8 bits are sent out high order bit first.</li>
  471. <li>The two strings use the same update frequency, because they are updated in parallel. The shorter string will not get "extra" channels of output.</li>
  472. <li><p>For the most flexibility, the memory layout of the colors for each LED in the string should be in a single LONG. There is a demonstration of using three bytes for a string of RGB LEDs, but there is little<br />
  473. flexibility of layout, and the string myst be a multiple of 4 LEDs in length.</p></li>
  474. <li><p>Currently, the number and types of LEDs in the strings is fixed at initialization. That might change in the future.</p></li>
  475. </ul>]]>
  476.        </description>
  477.    </item>
  478.    <item>
  479.        <title>Fast HUB75 display driver, display write routines, and other goodies.</title>
  480.        <link>https://forums.parallax.com/discussion/175765/fast-hub75-display-driver-display-write-routines-and-other-goodies</link>
  481.        <pubDate>Fri, 08 Mar 2024 21:27:09 +0000</pubDate>
  482.        <category>Propeller 1</category>
  483.        <dc:creator>Ding-Batty</dc:creator>
  484.        <guid isPermaLink="false">175765@/discussions</guid>
  485.        <description><![CDATA[<p>Here, something I have been playing with for a while now, and I think it's ready for the light of day.</p>
  486.  
  487. <p>I saw Parallax offering <a rel="nofollow" href="https://www.parallax.com/product/hub75-rgb-led-panel-128-x-128-mm-64-x-64-dots/">64x64 RGB LED displays</a>, and then saw the <a rel="nofollow" href="https://forums.parallax.com/discussion/172696/p2-p2-cube/p1">P2 LED Cube project</a>, I thought "that looks like fun!", and I thought it would be a good excuse to start working with the P2. So I got a few displays, and the <a rel="nofollow" href="https://www.parallax.com/product/p2-eval-hub75-adapter-board/">P2 Eval HUB75 Adapter Board</a>.</p>
  488.  
  489. <p>Then I though, why not get it working with the P1 as a warm-up, so that I fully understand what it takes. I saw Ray's thread on the work done (&gt; ten years ago!) but I wanted to write my own code, and address a few things I thought would work better. One long deep dive later, and here I am, with four versions of the PASM display refresh driver, PASM write helpers, and a pile of test programs. (And I still have not started working with the P2, sigh.)</p>
  490.  
  491. <p>Two versions of the display driver are bit-banged, and two use the video generator; the fastest one, which therefore allows the most bits per color, sends data at sysclock/4 for each row.</p>
  492.  
  493. <p>Here are the refresh rates for 64x64 and 64x128 displays at all the numbers of color bits:</p>
  494.  
  495. <pre spellcheck="false" tabindex="0">Display: 64x64
  496.  
  497.  Color
  498.  Depth   Waitcnt   Repeat    Vid8clk    Vid4clk
  499.  -----   ------    ------    -------    -------
  500.    1     2888.1    2942.5    4340.3     7800.3
  501.    2      963.9     988.1    1446.8     2601.5
  502.    3      413.2     425.6     620.0     1115.3
  503.    4      192.9     199.2     289.4      520.6
  504.    5       93.3      96.6     140.0      252.0
  505.    6       45.9      47.6      68.9      124.0
  506.    7       22.8      23.6      34.2       61.5
  507.    8       11.3      11.8      17.0       30.6
  508.  
  509. Display: 128x64 (two 64x64 panels in series)
  510.  
  511.  COLOR_DEPTH=8 is not available because the display buffer would take up _all_
  512.  of hub ram: 32KiB -- it also would flicker too much, anyway.
  513.  
  514.  Color
  515.  Depth   Waitcnt   Repeat    Vid8clk    Vid4clk
  516.  -----   ------    ------    -------    -------
  517.    1     1530.3    1545.5    2297.8     4336.5
  518.    2      510.5     517.2     765.9     1445.9
  519.    3      218.8     222.2     328.3      619.8
  520.    4      102.1     103.9     153.2      289.3
  521.    5       49.4      50.3      74.1      140.0
  522.    6       24.3      24.8      36.5       68.9
  523.    7       12.1      12.3      18.1       34.2
  524.    8       n/a       n/a       n/a        n/a
  525. </pre>
  526.  
  527. <p>Note that any refresh rate &lt; 60Hz will probably have too much flicker.</p>
  528.  
  529. <p>The display uses one byte for each pair of LEDs on the display, so a 64x64 display uses 2KiB for each bit of color.</p>
  530.  
  531. <p>Along with that, there is a PASM write helper to write to the display buffer, since the memory layout of the pixels is designed for display refresh speed, and is otherwise... inconvenient.</p>
  532.  
  533. <p>There are six test programs included, each of which exploring something specific. I was looking mostly at digit displays (think clocks or counters), and exploring digit change animations, so there is heavy focus on that in those test programs. The most recent, and probably most elaborate and complete, is <code spellcheck="false" tabindex="0">test_clock_bitmap.spin</code> which implements a digital clock, 4 or 6 digits, 12/24 hour, with control over time, color, intensity, and many digit change animations. (The digits are ROM font bitmaps.)</p>
  534.  
  535. <p>In addition, because using a higher numbers of color bits and larger displays, the display buffer can get quite large, I did some, ah, <em>unusual things</em> to maximize the available hub memory for the display buffer, including reusing not only all the PASM cog images in hub memory, but also other init-specific Spin code; the clock example recovers about 4KiB that way. This is discussed in the file <code spellcheck="false" tabindex="0">large_buffers.txt</code>.</p>
  536.  
  537. <p>I also have, if folks are interested, the set of about 14 test programs I wrote to get a handle on synchronizing the Waitvid data hand-off point, hub access, and a separate clock, based on video work @kuroneko  did many years ago.</p>
  538.  
  539. <p>Right now I only have displays based on the ICN2037 controller chip, so that is all I have tested. I know that the P2 HUB75 driver that @"Stephen Moraco" has shepherded can handle many more.</p>
  540.  
  541. <p>Here are a few photos of my set-up -- using a Board of Education to use the prototyping area -- and the P2 Hub Adapter Board, with breadboard pin adapters:</p>
  542.  
  543. <p><img src="https://forums.parallax.com/uploads/editor/0j/l6mzm32mqpeg.jpg" alt="" title="" /><br /><img src="https://forums.parallax.com/uploads/editor/8b/ys7y2lripcv9.jpg" alt="" title="" /><br /><img src="https://forums.parallax.com/uploads/editor/7u/dxw5qpc1zcdt.jpg" alt="" title="" /></p>
  544. ]]>
  545.        </description>
  546.    </item>
  547.    <item>
  548.        <title>Fastest method to share VAR between 2 P1's</title>
  549.        <link>https://forums.parallax.com/discussion/175880/fastest-method-to-share-var-between-2-p1s</link>
  550.        <pubDate>Wed, 08 May 2024 14:23:16 +0000</pubDate>
  551.        <category>Propeller 1</category>
  552.        <dc:creator>T Chap</dc:creator>
  553.        <guid isPermaLink="false">175880@/discussions</guid>
  554.        <description><![CDATA[<p>I have a P1 board that drives 1 BLDC motor with encoder and the code is very involved, the P1 is maxed out for cogs and ram.</p>
  555.  
  556. <p>I have a project that requires 3 motors and am thinking to add a second P1 to the board to handle the excess, using existing working code.  I want the P1MainBoard to act as if it  some values in it that are actually values used in the P1SubBoard VAR space and cogs.   There could be 10-20 Longs that need to be shared in real time as fast as possible. Most of the values are only moving from the P1SubBoard &gt; P1MainBoard constantly in repeat.  A few might move from P1MainBoard &gt; P1SubBoard on demand.  The goal is to try to keep existing code as in tact as possible, just move some engine blocks to another P1.  But to keep code intact the values from the SubBoard must be read very fast in a loop that never stops sending.</p>
  557.  
  558. <p>In thinking about this, it looks like many objects will have to get moved the SubBoard and the MainBoard can send Opcodes with values to the SubBoard serially as commands with updates, then the SubBoard drives the objects and does the work.  A typical example for one of the three motor engines is a PID that is driving an SPI DAC for motor speed, Direction Pin, checking encoder position.  Each PID loop is a cog(x3).  SPI DAC motor speed for all 3 motors can be 1 cog(use Chip select 1/2/3 in one SPI loop ie 1 cog).  Checking three quad encoders for 3 motors is 3 cogs.</p>
  559.  
  560. <p>SubBoard 3+1+3 = 7cogs plus a main loop keeping things updated and sharing data = 8</p>
  561.  
  562. <p>VARs SubBoard to MainBoard in a fast loop, never stops.<br />
  563. LONG EncoderValue1, EncoderValue2, EncoderValue3<br />
  564. WORD MotorSpeed1, MotorSpeed2, MotorSpeed3<br />
  565. Byte ErrorMessage1, ErrorMessage2, ErrorMessage3</p>
  566.  
  567. <p>VARs  MainBoard to SubBoard  as needed. <br />
  568. BYTE MotorEnable1, MotorEnable2, MotorEnable3<br />
  569. WORD MotorSpeed1, MotorSpeed2, MotorSpeed3</p>
  570.  
  571. <p>This is just a starting point of hashing this out, surely more to add to each VAR section for sharing.  But I first need to get a plan as to how to do this to get a board underway with 2xP1 chips.  With P1's next to each other on a PCB, one option is fast serial.  The SubBoard could send a packet with a packet header Opcode and always include a fixed length of values following.  The MainBoard looks for the packet header, and reads all subsequent values into their respective VAR values.  256k possible?  128 should be easy I think.  A repeat loop in SubBoard is always waiting for 1ms for a byte to come in from MainBoard with an Opcode and optional data bytes.  If it sees a valid Opcode, it handles the request, then resumes sending data.</p>
  572.  
  573. <p>SubBoard</p>
  574.  
  575. <pre spellcheck="false" tabindex="0">PUB MainLoop
  576.     WaitForByte(1).  ' wait 1 ms for a byte.  if no byte continue
  577.         'If opcode &gt; 0
  578.             ' Do the command
  579.     SendData
  580.       'Send all data in a packet back to MainBoard
  581.  
  582. </pre>
  583.  
  584. <p>Thanks for any suggestions on how to do this.</p>
  585. ]]>
  586.        </description>
  587.    </item>
  588.    <item>
  589.        <title>P1 WiFi module limitations for sockets and background tasks</title>
  590.        <link>https://forums.parallax.com/discussion/175764/p1-wifi-module-limitations-for-sockets-and-background-tasks</link>
  591.        <pubDate>Fri, 08 Mar 2024 14:11:38 +0000</pubDate>
  592.        <category>Propeller 1</category>
  593.        <dc:creator>Rsadeika</dc:creator>
  594.        <guid isPermaLink="false">175764@/discussions</guid>
  595.        <description><![CDATA[<p>In my WiFi module html program I am thinking about implementing some javascript background tasks and some html socket server code. Anybody have any idea as to what limitations I would be running into, and could the P1 WiFi module handle something like that. I know there is a ram limitation for the files, what else?</p>
  596.  
  597. <p>Ray</p>
  598. ]]>
  599.        </description>
  600.    </item>
  601.    <item>
  602.        <title>Propeller Activity Board WX and BME680 Environmental Sensor</title>
  603.        <link>https://forums.parallax.com/discussion/175803/propeller-activity-board-wx-and-bme680-environmental-sensor</link>
  604.        <pubDate>Fri, 12 Apr 2024 07:44:39 +0000</pubDate>
  605.        <category>Propeller 1</category>
  606.        <dc:creator>LyBui24</dc:creator>
  607.        <guid isPermaLink="false">175803@/discussions</guid>
  608.        <description><![CDATA[<p>There are totally 6 pins on the BME680 sensor. Using I2C connection, I want to connect the pin 28 with SCL and pin 29 with SDA of the sensor, but pin 28 and 29 are not on the breadboard to be accessed. How can I do it?</p>
  609. ]]>
  610.        </description>
  611.    </item>
  612.    <item>
  613.        <title>Thermocouple measurement</title>
  614.        <link>https://forums.parallax.com/discussion/154830/thermocouple-measurement</link>
  615.        <pubDate>Thu, 20 Mar 2014 03:10:06 +0000</pubDate>
  616.        <category>Propeller 1</category>
  617.        <dc:creator>ManAtWork</dc:creator>
  618.        <guid isPermaLink="false">154830@/discussions</guid>
  619.        <description><![CDATA[I plan to make a propeller based reflow oven controller. To measure high temperatures (up to 300°C) I have to use thermocouples. I think I'll use the LTC2440 as ADC. It has enough resolution to measure the thermo voltage directly without pre-amplifier, so I can get rid of any offset and calibration problems.<br /><br />
  620. But as thermocouples only measure relative temperatures I have to add an absolute temperature sensor for cold junction compensation. What is the preferable device for this? The LM75B would be nice as it has an I²C interface and doesn't require any extra pins but can be connected to pins 28/29 where the EEPROM already is connected. It is cheap but has relatively poor accuracy (+/-2° in the -25 to +100°C range).<br /><br />
  621. I have seen there is a TMP102 object in the OBEX and a DS2760 thermocouple kit. The TMP102 looks good but when I look at the datasheet of the DS2760 it shows a Li battery monitor that has nothing to do with a thermocouple, IMHO.<br /><br />
  622. I have to read at least 6 thermocouples. There is a 4-input version of the LTC2440 but as I need 6 I think I'd better handle multiplexing externally. (The 8 channel versions are single ended, only) Has anybody already done something similar. What would you suggest?]]>
  623.        </description>
  624.    </item>
  625.    <item>
  626.        <title>Incompatible driver, Propeller tool</title>
  627.        <link>https://forums.parallax.com/discussion/175767/incompatible-driver-propeller-tool</link>
  628.        <pubDate>Sat, 09 Mar 2024 14:53:27 +0000</pubDate>
  629.        <category>Propeller 1</category>
  630.        <dc:creator>Moskog</dc:creator>
  631.        <guid isPermaLink="false">175767@/discussions</guid>
  632.        <description><![CDATA[<p>Hi.. not able to access my Propeller because of "incompatible driver" on my new win 11 desktop, after installing Propeller Tool, latest version.<br />
  633. Had to turn Memory integrity to Off, but it seems that's not good for the Core security.</p>
  634.  
  635. <p>A good advice on how to solve this problem would be highly appreciated!</p>
  636. ]]>
  637.        </description>
  638.    </item>
  639.    <item>
  640.        <title>Simpleide simpletools problem?</title>
  641.        <link>https://forums.parallax.com/discussion/175743/simpleide-simpletools-problem</link>
  642.        <pubDate>Sat, 24 Feb 2024 15:48:45 +0000</pubDate>
  643.        <category>Propeller 1</category>
  644.        <dc:creator>Rsadeika</dc:creator>
  645.        <guid isPermaLink="false">175743@/discussions</guid>
  646.        <description><![CDATA[<p>Up until recently I have been using libfdserial and libsimpletext without any problems. I am using a program that that uploads data via serial to my Raspberry Pi. On the SimpleIDE side the program runs as expected, but on the Raspberry Pi side,using Python, I have to use decode() on the incoming data. This is where the problem lies, ..."can't decode byte 0xea in position 0"... Not sure what is causing this problem? Any help will be appreciated.</p>
  647.  
  648. <p>Thanks<br />
  649. Ray</p>
  650. ]]>
  651.        </description>
  652.    </item>
  653.    <item>
  654.        <title>[Solved] Program works only when connected to PC via USB -- but I want to cut the cord!</title>
  655.        <link>https://forums.parallax.com/discussion/175742/solved-program-works-only-when-connected-to-pc-via-usb-but-i-want-to-cut-the-cord</link>
  656.        <pubDate>Sat, 24 Feb 2024 05:58:47 +0000</pubDate>
  657.        <category>Propeller 1</category>
  658.        <dc:creator>mpark</dc:creator>
  659.        <guid isPermaLink="false">175742@/discussions</guid>
  660.        <description><![CDATA[<p>I am dusting off an old project built on a USB protoboard. The program emits a lot of serial data that shows up in the Parallax serial terminal; so far so good. I actually don't care about the data and want to run the program disconnected from the PC, but when I try, the program does not work reliably. It'll do its thing for a little while, then stop briefly, then start working again, then stop... Not sure if it's rebooting or what. I assume the problem is related to the serial data having no place to go.</p>
  661.  
  662. <p>I vaguely recall that this was a known issue back in the day. Anyone remember what's going on and how to work around it?</p>
  663.  
  664. <p>I tried commenting out the term.init call (term being fullduplexserial) but that didn't help. In fact I think the program stopped working altogether, though it's hard to tell.</p>
  665.  
  666. <p>Any help appreciated!</p>
  667. ]]>
  668.        </description>
  669.    </item>
  670.    <item>
  671.        <title>Propeller schmartmodule</title>
  672.        <link>https://forums.parallax.com/discussion/175714/propeller-schmartmodule</link>
  673.        <pubDate>Sat, 03 Feb 2024 09:27:42 +0000</pubDate>
  674.        <category>Propeller 1</category>
  675.        <dc:creator>VonSzarvas</dc:creator>
  676.        <guid isPermaLink="false">175714@/discussions</guid>
  677.        <description><![CDATA[<p>Groovy!</p>
  678.  
  679. <p><a href="https://embeddedcomputing.com/technology/open-source/development-kits/dev-kit-weekly-schmartboard-parallax-propeller-schmartmodule-development-board" rel="nofollow">https://embeddedcomputing.com/technology/open-source/development-kits/dev-kit-weekly-schmartboard-parallax-propeller-schmartmodule-development-board</a></p>
  680. ]]>
  681.        </description>
  682.    </item>
  683.    <item>
  684.        <title>P1 SPIN code for SSD1306 OLED</title>
  685.        <link>https://forums.parallax.com/discussion/175715/p1-spin-code-for-ssd1306-oled</link>
  686.        <pubDate>Mon, 05 Feb 2024 20:45:16 +0000</pubDate>
  687.        <category>Propeller 1</category>
  688.        <dc:creator>VonSzarvas</dc:creator>
  689.        <guid isPermaLink="false">175715@/discussions</guid>
  690.        <description><![CDATA[<p>128x64 pixel display</p>
  691.  
  692. <p>Has anyone got a SPIN code demo running different size fonts ?</p>
  693.  
  694. <p>I found something in OBEX with a 5x7 font, but it's too tiny.<br />
  695. There's another with 16x32, but it's too large, taking 4 rows out of an available 8.</p>
  696.  
  697. <p>Looking for something in the middle, maybe taking 2 or 3 rows, perhaps 8x12 or 8x16 (or 12x...) size fonts?</p>
  698. ]]>
  699.        </description>
  700.    </item>
  701.   </channel>
  702. </rss>
  703.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=https%3A//forums.parallax.com/categories/propeller-1-multicore-microcontroller/feed.rss

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda