$map ' Получаем карту распределения памяти компилятором Bascom
$regfile = "m1284pdef.dat" ' Используемый контроллер
$crystal = 16000000 ' 8 МГц , кварц для стабильной работы USART во всём диапазоне скоростей передачи и приёма
$framesize = 512 'размер области используемой и необходимой для преобразований
$hwstack = 512 ' Размер аппаратного стека
$swstack = 512 ' Размер программного стека
Const Amount_rgb = 16
'*******************************************************************************
'Переменные для получения случайного числа
'*******************************************************************************
Dim Rnd_a As Byte '
Dim Rnd_b As Byte '
Dim Rnd_c As Byte 'выходное случайное число
Rnd_a = 123 : Rnd_b = 23 : Rnd_c = 18 'Начальные Значения. Любые, Кроме 0
Declare Sub Hsv2rgb(byval In_h As Byte , Byval In_s As Byte , Byval In_v As Byte , Out_r As Byte , Out_g As Byte , Out_b As Byte)
Dim Hr As Byte
Dim Hg As Byte
Dim Hb As Byte
Dim Sr As Byte
Dim Sg As Byte
Dim Sb As Byte
Dim Tmp As Byte
Dim Temps As Word
Dim In_h_byte As Byte , In_s_byte As Byte , In_v_byte As Byte
Config Rainbow = 1 , Rb0_len = Amount_rgb , Rb0_port = Porta , Rb0_pin = 3 , _
' ^--- connected to pin 3
' ^--------------------- connected to portD
' ^---------------------------------- 49 leds on stripe
' ^-------------------------------------------------- 1 channel
Const Led_len = 3
Const Farbspeicher = 3 * Led_len
Dim Led_array(farbspeicher) As Byte
Const Beginn_rot = Led_len + 1
Const Beginn_blau = Beginn_rot + Led_len
Dim N1 As Byte
Dim N2 As Byte
Dim N3 As Byte
'НАЧАЛЬНЫЕ ЗНАЧЕНИЯ ПАЛИТРЫ
N1 = 0 : N2 = 64 : N3 = 128
Dim Color(3) As Byte
R Alias Color(_base) : G Alias Color(_base + 1) : B Alias Color(_base + 2)
Dim Color_up As Byte
Dim Min_color_up As Byte
Dim Brightness_up As Byte
Dim Count_fire_up As Byte
Dim Saturation_up As Byte
Dim Temp_1_rgb_led As Byte
Dim Temp_2_rgb_led As Byte
Dim Count_rainbow_up As Byte
Dim Flag_rgb_effect_up As Byte
Dim Count_color_fire_up As Byte
Dim Count_color_rainbow_up As Byte
Dim Direction_saturation_up As Byte
Rb_selectchannel 0 ' select first channel
Rb_clearcolors 'clear colors in memory
Rb_send
Dim Rgb_led_up(20) As Byte
Rgb_led_up(1) = 0
Rgb_led_up(2) = 8
Rgb_led_up(3) = 16
Rgb_led_up(4) = 30
Rgb_led_up(5) = 60
Rgb_led_up(6) = 110
Rgb_led_up(7) = 120
Rgb_led_up(8) = 140
Rgb_led_up(9) = 160
Rgb_led_up(10) = 170
Rgb_led_up(11) = 180
Rgb_led_up(12) = 190
Rgb_led_up(13) = 200
Rgb_led_up(14) = 210
Rgb_led_up(15) = 220
Rgb_led_up(16) = 230
'===============================================================================
'-------------- Разрешаем работу необходимых прерываний ----------------------
'===============================================================================
'===============================================================================
'------------ Разрешаем работу всех включенных прерываний --------------------
' Enable Interrupts
'===============================================================================
' Предварительная проверка и запуск
'===============================================================================
Min_color_up = 8
Color_up = 12
Brightness_up = 255
Saturation_up = 255
'0 - радуга, 1 - огонь
Flag_rgb_effect_up = 0
Rb_selectchannel 0
'===============================================================================
' Г Л А В Н Ы Й Ц И К Л
Main:
'===============================================================================
Gosub Processing_rgb
Rb_send
Waitms 20
' Power Idle ' Отправляем МК на тихий час
'===============================================================================
Goto Main
End
'===============================================================================
' П О Д К Л Ю Ч Е Н И Е Р А Б О Ч И Х М О Д У Л Е Й
'===============================================================================
'===============================================================================
Processing_rgb:
'-------------------------------------------------------------------------------
If Flag_rgb_effect_up = 0 Then
Count_color_rainbow_up = 0
For Count_rainbow_up = 1 To Amount_rgb
Incr Rgb_led_up(count_rainbow_up)
Temp_1_rgb_led = Rgb_led_up(count_rainbow_up) - 85
Temp_2_rgb_led = Rgb_led_up(count_rainbow_up) - 170
R = Lookup(rgb_led_up(count_rainbow_up) , Hsv)
G = Lookup(temp_1_rgb_led , Hsv)
B = Lookup(temp_2_rgb_led , Hsv)
Rb_setcolor Count_color_rainbow_up , Color(1)
Incr Count_color_rainbow_up
Next Count_rainbow_up
' Flag_write_ws2812_up = 1
Else
Count_color_fire_up = 0
For Count_fire_up = 1 To Amount_rgb
Rgb_led_up(count_fire_up) = Rnd(color_up)
If Rgb_led_up(count_fire_up) < Min_color_up Then
Rgb_led_up(count_fire_up) = Min_color_up
End If
Gosub Rnd_byte
Brightness_up = Rnd_c 'Rnd(255)
If Brightness_up < 200 Then
Brightness_up = 200
End If
Call Hsv2rgb(rgb_led_up(count_fire_up) , Saturation_up , Brightness_up , R , G , B)
Rb_setcolor Count_color_fire_up , Color(1)
Incr Count_color_fire_up
Next Count_fire_up 'For Count_fire_up = 1 To Amount_rgb
If Direction_saturation_up = 0 Then
If Saturation_up < 255 Then
Incr Saturation_up
Else
Direction_saturation_up = 1
End If 'If Насыщеность < 255 Then
Else
If Saturation_up > 130 Then
Decr Saturation_up
Else
Direction_saturation_up = 0
End If 'If Насыщеность > 130 Then
End If 'If Направ_насыщеность = 0 Then
' Flag_write_ws2812_up = 1
End If 'If Flag_rgb_effect_up = 0 Then
' Flag_update_up = 0
'-------------------------------------------------------------------------------
Return
'===============================================================================
'===============================================================================
Rnd_byte: 'Формирование случайного числа
'-------------------------------------------------------------------------------
!Lds R16 , {Rnd_a} 'загрузка
!Lds R17 , {Rnd_b}
!Lds R18 , {Rnd_c}
!Mov R16 , R17 'A=B
!Mov R17 , R18 'B=C
!Lsl R17 'B<<1
!Brcc _Null
!Sbr R17 , 1 'добавляем "1" в D1 если 7 бит до сдвига был "1"
_null:
!Mov R18 , R16 'С=B+A
!Add R18 , R17 '-||-
!Sts {Rnd_a} , R16 'выгрузка
!Sts {Rnd_b} , R17
!Sts {Rnd_c} , R18
'-------------------------------------------------------------------------------
Return
'===============================================================================
'===============================================================================
'==========Функция преобразования HSV в RGB==========
'http://ru.wikipedia.org/wiki/HSV_(%D1%86%D0%B2%D0%B5%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C)
'===============================================================================
Sub Hsv2rgb(byval In_h As Byte , Byval In_s As Byte , Byval In_v As Byte , Out_r As Byte , Out_g As Byte , Out_b As Byte)
'-------------------------------------------------------------------------------
'Получим логарифмические значения цвета RGB каналов для заданного цвета из расчитанной таблицы
Hr = Lookup(in_h , Hsv_red)
Hg = Lookup(in_h , Hsv_green)
Hb = Lookup(in_h , Hsv_blue)
'Получим значения насыщенности
In_s = Lookup(in_s , Saturation)
In_s_byte = In_s
Temps = Hr * In_s
Gosub Shift_word_right_8_sbc 'тут же делается эта (Temps = Temps - In_s) операция
Sr = Temps
Temps = Hg * In_s
Gosub Shift_word_right_8_sbc 'тут же делается эта (Temps = Temps - In_s) операция
Sg = Temps
Temps = Hb * In_s
Gosub Shift_word_right_8_sbc 'тут же делается эта (Temps = Temps - In_s) операция
Sb = Temps
'Получим значения яркости
In_v = Lookup(in_v , Brightness)
Temps = In_v * Sr
Gosub Shift_word_right_8
Out_r = Temps
Temps = In_v * Sg
Gosub Shift_word_right_8
Out_g = Temps
Temps = In_v * Sb
Gosub Shift_word_right_8
Out_b = Temps
'-------------------------------------------------------------------------------
End Sub
'===============================================================================
'===============================================================================
Shift_word_right_8_sbc:
'-------------------------------------------------------------------------------
!lds R30 , {Temps}
!lds R31 , {Temps + 1}
'=>1
!lsr R31
!ror R30
'=>2
!lsr R31
!ror R30
'=>3
!lsr R31
!ror R30
'=>4
!lsr R31
!ror R30
'=>5
!lsr R31
!ror R30
'=>6
!lsr R31
!ror R30
'=>7
!lsr R31
!ror R30
'=>8
!lsr R31
!ror R30
'Temps = Temps - In_s_byte
!clr R16
!lds R17 , {In_s_byte}
!SUB R30 , R17
!sbc R31 , R16
!sts {Temps} , R30
!sts {Temps + 1} , R31
'-------------------------------------------------------------------------------
Return
'===============================================================================
'===============================================================================
Shift_word_right_8:
'-------------------------------------------------------------------------------
!lds R30 , {Temps}
!lds R31 , {Temps + 1}
'=>1
!lsr R31
!ror R30
'=>2
!lsr R31
!ror R30
'=>3
!lsr R31
!ror R30
'=>4
!lsr R31
!ror R30
'=>5
!lsr R31
!ror R30
'=>6
!lsr R31
!ror R30
'=>7
!lsr R31
!ror R30
'=>8
!lsr R31
!ror R30
!sts {Temps} , R30
!sts {Temps + 1} , R31
'-------------------------------------------------------------------------------
Return
'===============================================================================
'===============================================================================
Hsv:
'-------------------------------------------------------------------------------
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
'===============================================================================
'===============================================================================
Saturation: '========== Насыщенность ==========
'-------------------------------------------------------------------------------
Data 0 , 6 , 12 , 17 , 22 , 27 , 32 , 37 , 42 , 46 , 51 , 55 , 59 , 64 , 68 , 72
Data 76 , 80 , 84 , 87 , 91 , 94 , 98 , 101 , 105 , 108 , 111 , 114 , 117 , 120 , 123 , 126
Data 129 , 131 , 134 , 137 , 139 , 142 , 144 , 147 , 149 , 151 , 154 , 156 , 158 , 160 , 162 , 164
Data 166 , 168 , 170 , 172 , 174 , 175 , 177 , 179 , 180 , 182 , 184 , 185 , 187 , 188 , 190 , 191
Data 193 , 194 , 195 , 197 , 198 , 199 , 200 , 201 , 203 , 204 , 205 , 206 , 207 , 208 , 209 , 210
Data 211 , 212 , 213 , 214 , 215 , 216 , 217 , 217 , 218 , 219 , 220 , 221 , 221 , 222 , 223 , 224
Data 224 , 225 , 226 , 226 , 227 , 228 , 228 , 229 , 229 , 230 , 231 , 231 , 232 , 232 , 233 , 233
Data 234 , 234 , 235 , 235 , 235 , 236 , 236 , 237 , 237 , 238 , 238 , 238 , 239 , 239 , 240 , 240
Data 240 , 241 , 241 , 241 , 242 , 242 , 242 , 242 , 243 , 243 , 243 , 244 , 244 , 244 , 244 , 245
Data 245 , 245 , 245 , 246 , 246 , 246 , 246 , 246 , 247 , 247 , 247 , 247 , 247 , 248 , 248 , 248
Data 248 , 248 , 248 , 249 , 249 , 249 , 249 , 249 , 249 , 250 , 250 , 250 , 250 , 250 , 250 , 250
Data 250 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 251 , 252 , 252 , 252 , 252 , 252 , 252
Data 252 , 252 , 252 , 252 , 252 , 252 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253 , 253
Data 253 , 253 , 253 , 253 , 253 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254
Data 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
'===============================================================================
'===============================================================================
Brightness: '========== Яркость ==========
'-------------------------------------------------------------------------------
Data 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1
Data 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2
Data 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 3
Data 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 4
Data 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 6
Data 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 7 , 7 , 7 , 7 , 7 , 8 , 8 , 8
Data 8 , 8 , 8 , 9 , 9 , 9 , 9 , 9 , 10 , 10 , 10 , 10 , 10 , 11 , 11 , 11
Data 11 , 12 , 12 , 12 , 12 , 13 , 13 , 13 , 14 , 14 , 14 , 14 , 15 , 15 , 15 , 16
Data 16 , 16 , 17 , 17 , 18 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 21 , 22 , 22
Data 23 , 23 , 24 , 24 , 25 , 25 , 26 , 27 , 27 , 28 , 28 , 29 , 30 , 30 , 31 , 32
Data 32 , 33 , 34 , 35 , 35 , 36 , 37 , 38 , 39 , 39 , 40 , 41 , 42 , 43 , 44 , 45
Data 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 , 55 , 56 , 57 , 58 , 59 , 61 , 62 , 63
Data 65 , 66 , 68 , 69 , 71 , 72 , 74 , 76 , 77 , 79 , 81 , 82 , 84 , 86 , 88 , 90
Data 92 , 94 , 96 , 98 , 100 , 102 , 105 , 107 , 109 , 112 , 114 , 117 , 119 , 122 , 125 , 127
Data 130 , 133 , 136 , 139 , 142 , 145 , 148 , 151 , 155 , 158 , 162 , 165 , 169 , 172 , 176 , 180
Data 184 , 188 , 192 , 197 , 201 , 205 , 210 , 214 , 219 , 224 , 229 , 234 , 239 , 244 , 250 , 255
'===============================================================================
'===============================================================================
Hsv_red: '========== Цветовой тон для красного ==========
'-------------------------------------------------------------------------------
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
'===============================================================================
'===============================================================================
Hsv_green: ' ========== Цветовой тон для зелёного ==========
'-------------------------------------------------------------------------------
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
'===============================================================================
'===============================================================================
Hsv_blue: '========== Цветовой тон для синего ==========
'-------------------------------------------------------------------------------
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 6 , 12 , 18 , 24 , 30 , 36 , 42 , 48 , 54 , 60 , 66
Data 72 , 78 , 84 , 90 , 96 , 102 , 108 , 114 , 120 , 126 , 132
Data 138 , 144 , 150 , 156 , 162 , 168 , 174 , 180 , 186 , 192 , 198
Data 204 , 210 , 216 , 222 , 228 , 234 , 240 , 246 , 252 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
Data 255 , 252 , 246 , 240 , 234 , 228 , 222 , 216 , 210 , 204 , 198
Data 192 , 186 , 180 , 174 , 168 , 162 , 156 , 150 , 144 , 138 , 132
Data 126 , 120 , 114 , 108 , 102 , 96 , 90 , 84 , 78 , 72 , 66
Data 60 , 54 , 48 , 42 , 36 , 30 , 24 , 18 , 12 , 6
'===============================================================================