<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mcselec.com/bavr/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=RB_SETTABLECOLOR</id>
		<title>RB SETTABLECOLOR - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=RB_SETTABLECOLOR"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=RB_SETTABLECOLOR&amp;action=history"/>
		<updated>2026-04-08T12:48:46Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=RB_SETTABLECOLOR&amp;diff=5233&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  Set the color of a LED using a lookup table.  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbs...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=RB_SETTABLECOLOR&amp;diff=5233&amp;oldid=prev"/>
				<updated>2015-06-15T21:00:58Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =  Set the color of a LED using a lookup table.  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbs...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Set the color of a LED using a lookup table.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold; color: rgb(0, 0, 128);&amp;quot;&amp;gt;RB_SETTABLECOLOR&amp;amp;nbsp;&amp;lt;/span&amp;gt;LED , Index [, Label]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 13.3333330154419px; padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;11%&amp;quot; style=&amp;quot;width: 104px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
LED&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 867px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The index of the LED of the active channel which color need to be changed. The first LED number is 0.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;11%&amp;quot; style=&amp;quot;width: 104px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Index&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 867px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
A byte variable or constant that holds the index of the table.&lt;br /&gt;
&lt;br /&gt;
The table need to be identified by a label. This is either a user defined label, or a label named RAINBOW_COLORS&lt;br /&gt;
&lt;br /&gt;
The table has the R, G, B format. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Rainbow_Colors:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;' R , &amp;amp;nbsp; &amp;amp;nbsp;G , &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;B &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;index&lt;br /&gt;
&lt;br /&gt;
Data &amp;amp;HFF , &amp;amp;H00 , &amp;amp;H00 'Red 0&lt;br /&gt;
&lt;br /&gt;
Data &amp;amp;H00 , &amp;amp;HFF , &amp;amp;H00 'Green 1&lt;br /&gt;
&lt;br /&gt;
Data &amp;amp;H00 , &amp;amp;H00 , &amp;amp;HFF 'Blue 2&lt;br /&gt;
&lt;br /&gt;
Data &amp;amp;HFF , &amp;amp;HA5 , &amp;amp;H00 'Orange 3&lt;br /&gt;
&lt;br /&gt;
Data &amp;amp;HFF , &amp;amp;HFF , &amp;amp;H00 'Yellow 4&lt;br /&gt;
&lt;br /&gt;
Data &amp;amp;HFF , &amp;amp;H69 , &amp;amp;HB4 'HotPink 5&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;11%&amp;quot; style=&amp;quot;width: 104px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
Label&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 867px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The label name of the table. This is an optional value. If the label name is not specified, the name RAINBOW_COLORS will be used.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[RB ADDCOLOR|RB_ADDCOLOR]] , [[RB ANDCOLOR|RB_ANDCOLOR]] , [[RB ORCOLOR|RB_ORCOLOR]], [[RB SUBCOLOR|RB_SUBCOLOR]], [[RB CLEARSTRIPE|RB_CLEARSTRIPE]] , [[RB CLEARCOLORS|RB_CLEARCOLORS]] , [[RB FILL|RB_FILL]] , [[RB FILLCOLORS|RB_FILLCOLORS]] , [[RB FILLSTRIPE|RB_FILLSTRIPE]] , [[RB SELECTCHANNEL|RB_SELECTCHANNEL]] , [[RB SEND|RB_SEND]], [[RB SETCOLOR|RB_SETCOLOR]] , [[RB SWAPCOLOR|RB_SWAPCOLOR]] , [[RB ROTATELEFT|RB_ROTATELEFT]] , [[RB ROTATERIGHT|RB_ROTATERIGHT]] , [[RB SHIFTLEFT|RB_SHIFTLEFT]] , [[RB SHIFTRIGHT|RB_SHIFTRIGHT]] , [[RB CHANGEPIN|RB_CHANGEPIN]] , '''RB_SETTABLECOLOR''' , [[RB GETCOLOR|RB_GETCOLOR]] , [[RB LOOKUPCOLOR|RB_LOOKUPCOLOR]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'-------------------------------------------------------------------------------&lt;br /&gt;
' rainbow_ws2812_Trafficlights.bas&lt;br /&gt;
'&lt;br /&gt;
' This example simulates two simple Trafficlights.&lt;br /&gt;
' It shows how switch between two Stripes with just one defined Rainbow.&lt;br /&gt;
' The active output gets changed by the RB_ChangePin statement.&lt;br /&gt;
' Thus the use of memory is small.&lt;br /&gt;
'&lt;br /&gt;
'-------------------------------------------------------------------------------&lt;br /&gt;
'(&lt;br /&gt;
Following situation:&lt;br /&gt;
The one way route from the Weststreet to Nothstreet and vice versa is the main route&lt;br /&gt;
and cars on these roads have priority.The corresponding light will show green light normally.&lt;br /&gt;
In our simple world, every five seconds a car wants to drive from the Eaststreet to the Northstreet.&lt;br /&gt;
Thus, the trafficflow from the main street has to stop, to let the cars pass.&lt;br /&gt;
' Northstreet&lt;br /&gt;
'&lt;br /&gt;
' | |&lt;br /&gt;
' | |&lt;br /&gt;
' | | ooo&lt;br /&gt;
' ------' '------&lt;br /&gt;
' EastStreet&lt;br /&gt;
' ---&amp;gt; ------&lt;br /&gt;
WestStreet |&lt;br /&gt;
' -----------/&lt;br /&gt;
' ooo&lt;br /&gt;
'&lt;br /&gt;
'&lt;br /&gt;
')&lt;br /&gt;
$Regfile = &amp;quot;m88pdef.dat&amp;quot;&lt;br /&gt;
$Crystal=8000000&lt;br /&gt;
$hwstack=40&lt;br /&gt;
$swstack=16&lt;br /&gt;
$framesize=32&lt;br /&gt;
'We use just one Channel for both Trafficlights, cause LED stripes are static&lt;br /&gt;
Config RAINBOW= 1, RB0_LEN=3, RB0_PORT=PORTB,rb0_pin=0&lt;br /&gt;
Rb_SelectChannel 0 'we use the defined Channel&lt;br /&gt;
 &lt;br /&gt;
'Port+Pin combinations, formed to a word&lt;br /&gt;
Const MainStreet_0 = (((varptr(portb) + &amp;amp;H20) *256) OR PB0)&lt;br /&gt;
Const EastStreet_1 = (((varptr(portb) + &amp;amp;H20) *256) OR PB1)&lt;br /&gt;
'----[MAIN]---------------------------------------------------------------------&lt;br /&gt;
Dim PortPin as Word&lt;br /&gt;
Dim Street as Byte 'selects the current PortPin cofiguration&lt;br /&gt;
Const Mainstreet = 0&lt;br /&gt;
Const Eaststreet = 1&lt;br /&gt;
'Index for LED and colors also&lt;br /&gt;
Const Red = 0&lt;br /&gt;
Const Yellow = 1&lt;br /&gt;
Const Green = 2&lt;br /&gt;
Gosub inital_state&lt;br /&gt;
Do&lt;br /&gt;
 Gosub Wait_for_car&lt;br /&gt;
 'Trafficlight turns to Red&lt;br /&gt;
 Street = Mainstreet&lt;br /&gt;
 Gosub Turn_to_Red&lt;br /&gt;
 'Trafficlight turns to green&lt;br /&gt;
 Street = Eaststreet&lt;br /&gt;
 Gosub Turn_to_green&lt;br /&gt;
 Gosub Wait_for_car 'let some cars passing&lt;br /&gt;
 Gosub Turn_to_red&lt;br /&gt;
 'Mainstreet becomes green&lt;br /&gt;
 Street = Mainstreet&lt;br /&gt;
 Gosub Turn_to_green&lt;br /&gt;
Loop&lt;br /&gt;
 &lt;br /&gt;
Wait_for_car:&lt;br /&gt;
 Wait 5&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Turn_to_Green:&lt;br /&gt;
 Gosub Change_Port_Pin&lt;br /&gt;
 RB_SettableColor Yellow,Yellow,Light 'load and set color from table&lt;br /&gt;
 RB_Send 'refresh stripe&lt;br /&gt;
 Wait 1&lt;br /&gt;
 RB_clearcolors 'clear colors in memory&lt;br /&gt;
 RB_SettableColor green,green,Light 'load and set color from table&lt;br /&gt;
 RB_Send 'refresh stripe&lt;br /&gt;
 Wait 2&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Turn_to_red:&lt;br /&gt;
 Gosub Change_Port_Pin&lt;br /&gt;
 RB_clearcolors 'clear colors in memory&lt;br /&gt;
 RB_SettableColor Yellow,Yellow,Light 'load and set color from table&lt;br /&gt;
 RB_Send 'refresh stripe&lt;br /&gt;
 Wait 3&lt;br /&gt;
 RB_clearcolors 'clear colors in memory&lt;br /&gt;
 RB_SettableColor red,red,Light 'load and set color from table&lt;br /&gt;
 RB_Send 'refresh stripe&lt;br /&gt;
 Wait 2&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Inital_State:&lt;br /&gt;
'select Mainstreet, green&lt;br /&gt;
 Street = Mainstreet&lt;br /&gt;
 Gosub Change_Port_Pin&lt;br /&gt;
 RB_clearcolors&lt;br /&gt;
 RB_SettableColor green,green,Light&lt;br /&gt;
 RB_Send&lt;br /&gt;
'select Eaststreet, red&lt;br /&gt;
 Street = Eaststreet&lt;br /&gt;
 Gosub Change_Port_Pin&lt;br /&gt;
 RB_clearcolors&lt;br /&gt;
 RB_SettableColor Red,Red,Light&lt;br /&gt;
 RB_Send&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
Change_PORT_PIN:&lt;br /&gt;
 PortPin = Lookup(Street,PortPin_Tbl) 'get PortPin comination&lt;br /&gt;
 RB_ChangePin High(PortPin),PortPin 'use PortPin&lt;br /&gt;
Return&lt;br /&gt;
 &lt;br /&gt;
PortPin_Tbl:&lt;br /&gt;
 Data MainStreet_0%&lt;br /&gt;
 Data EastStreet_1%&lt;br /&gt;
 &lt;br /&gt;
Light:&lt;br /&gt;
 Data 150,0,0 'Red&lt;br /&gt;
 Data 100,50,0 'Yello&lt;br /&gt;
 Data 0,150,0 'Green&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>