color definitions
This commit is contained in:
		
							
								
								
									
										20
									
								
								colors.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								colors.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
#ifndef _COLORS_H_
 | 
			
		||||
#define _COLORS_H_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#define _red 0x00
 | 
			
		||||
#define _blue 0x01
 | 
			
		||||
#define _green 0x02
 | 
			
		||||
#define _orange 0x03
 | 
			
		||||
#define _rose 0x04
 | 
			
		||||
#define _magenta 0x05
 | 
			
		||||
#define _violet 0x06
 | 
			
		||||
#define _azure 0x07
 | 
			
		||||
#define _cyan 0x08
 | 
			
		||||
#define _springgreen 0x09
 | 
			
		||||
#define _chartreuse 0x0a
 | 
			
		||||
#define _yellow 0x0b
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										94
									
								
								main.S
									
									
									
									
									
								
							
							
						
						
									
										94
									
								
								main.S
									
									
									
									
									
								
							@@ -1,41 +1,84 @@
 | 
			
		||||
  .file "main.S"
 | 
			
		||||
 | 
			
		||||
#include <msp430g2553.h>
 | 
			
		||||
 | 
			
		||||
#include "colors.h"
 | 
			
		||||
 | 
			
		||||
#define PC r0
 | 
			
		||||
#define SP r1
 | 
			
		||||
#define SR r2
 | 
			
		||||
 | 
			
		||||
#define _red 0x00
 | 
			
		||||
#define _blue 0x01
 | 
			
		||||
#define _green 0x02
 | 
			
		||||
 | 
			
		||||
  .section ".rodata","a"
 | 
			
		||||
screendata:
 | 
			
		||||
  .byte   _red
 | 
			
		||||
  .byte   _blue
 | 
			
		||||
  .byte   _green
 | 
			
		||||
  .byte   _violet
 | 
			
		||||
  .byte   _orange
 | 
			
		||||
  .byte   _springgreen
 | 
			
		||||
screendataend:
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
 | 
			
		||||
;; color definitions according to https://learn.sparkfun.com/tutorials/lilypad-protosnap-plus-activity-guide/3-custom-color-mixing
 | 
			
		||||
red:
 | 
			
		||||
colors1:
 | 
			
		||||
  .byte   0b11111111
 | 
			
		||||
  .byte   0xff  ;; red
 | 
			
		||||
colors2:
 | 
			
		||||
  .byte   0b00000000
 | 
			
		||||
  .byte   0x00  ;; green
 | 
			
		||||
colors3:
 | 
			
		||||
  .byte   0b00000000
 | 
			
		||||
  .byte   0x00  ;; blue
 | 
			
		||||
  .byte   0
 | 
			
		||||
blue:
 | 
			
		||||
  .byte   0b00000000
 | 
			
		||||
  .byte   0b00000000
 | 
			
		||||
  .byte   0b11111111
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0
 | 
			
		||||
green:
 | 
			
		||||
  .byte   0b00000000
 | 
			
		||||
  .byte   0b11111111
 | 
			
		||||
  .byte   0b00000000
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0
 | 
			
		||||
orange:
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0x80
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0
 | 
			
		||||
rose:
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0x80
 | 
			
		||||
  .byte   0
 | 
			
		||||
magenta:
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0
 | 
			
		||||
violet:
 | 
			
		||||
  .byte   0x80
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0
 | 
			
		||||
azure:
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0x80
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0
 | 
			
		||||
cyan:
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0
 | 
			
		||||
springgreen:
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0x80
 | 
			
		||||
  .byte   0
 | 
			
		||||
chartreuse:
 | 
			
		||||
  .byte   0x80
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0
 | 
			
		||||
yellow:
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0xff
 | 
			
		||||
  .byte   0x00
 | 
			
		||||
  .byte   0
 | 
			
		||||
 | 
			
		||||
  ;; .text is the name of the section, it is a hint for the linker to
 | 
			
		||||
@@ -57,9 +100,6 @@ _start:
 | 
			
		||||
  ;; initialize stack pointer with value from linker
 | 
			
		||||
  mov.w   #__stack, SP
 | 
			
		||||
 | 
			
		||||
  mov.w   #0xaaaa, r7
 | 
			
		||||
  mov.w   #0x5555, r8
 | 
			
		||||
 | 
			
		||||
init:
 | 
			
		||||
  ;; configuration of GPIO Ports
 | 
			
		||||
  mov.b   #BIT0|BIT1|BIT2,&P1DIR
 | 
			
		||||
@@ -114,22 +154,6 @@ mainloop:
 | 
			
		||||
  rla.b   r9
 | 
			
		||||
  rla.b   r9
 | 
			
		||||
 | 
			
		||||
; This code already works
 | 
			
		||||
;mainloop_wait_for_isr:
 | 
			
		||||
;  ;; check bit0 in sync register
 | 
			
		||||
;  bit     #0x01,r4
 | 
			
		||||
;  jz      mainloop_wait_for_isr
 | 
			
		||||
;
 | 
			
		||||
;  ;; load data
 | 
			
		||||
;  mov.b   r9,r5
 | 
			
		||||
;  ;; clear BYTE_DONE
 | 
			
		||||
;  bic     #0x01, r4
 | 
			
		||||
;  ;; enable isr
 | 
			
		||||
;  bis     #0x02, r4
 | 
			
		||||
;
 | 
			
		||||
;  ;; continue
 | 
			
		||||
;  jmp     mainloop
 | 
			
		||||
 | 
			
		||||
  ;; enable isr
 | 
			
		||||
  bis     #0x02, r4
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user