;
; _settings.h: global app settings
;
;
; author: Marko Kanala, raato ]a t[ mulletronic.com
;
; LICENSE
; Creative Commons Attribution-NonCommercial-ShareALike 2.5
;
; You are free:
;
; * to copy, distribute, display, and perform the work
; * to make derivative works
;
; Under the following conditions:
;	
; 1. Attribution. You must attribute the work in the manner specified by the 
;    author or licensor.
; 2. Noncommercial. You may not use this work for commercial purposes.
; 3. Share Alike. If you alter, transform, or build upon this work, you may 
;    distribute the resulting work only under a license identical to this one.
;
; * For any reuse or distribution, you must make clear to others the license 
;   terms of this work.
; * Any of these conditions can be waived if you get permission from the 
;   copyright holder.
;
; Your fair use and other rights are in no way affected by the above.
;
; This is a human-readable summary of the Legal Code.
; See full license at http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode
;
; Copyright: Marko Kanala (raato@mulletronic.com).
;

; firmware version
version_major		equ		"1"
version_minor		equ		"1"

; default settings for sequencer (all on)
default_settings	equ		b'11111111'
default_midi_channel equ	10

; a/d is restarted on every 5th timer 2 interrupt
do_ad_every_timer2	equ		5

; select bassdrum as instrument on startup
set_instr_on_start	equ		0

; selected bank on startup
set_bank_on_start	equ		BANK_A

; selected pattern on startup
set_patt_on_start	equ		0

; blinking speed
blink_speed			equ		255
blink_speed2		equ		5

; trigger width timer counter values
;  for 2ms trigger pulses and 1:1 prescaler
;  we should wait for 20000*100ns
;  = 65536 - 20000 = 0xB1E0
trig_width_high		equ		0xb1
trig_width_low		equ		0xe0

; din sync clock width timer counter values
;  for 2ms trigger pulses and 1:1 prescaler
;  we should wait for 20000*100ns
;  = 65536 - 20000 = 0xB1E0
din_width_high		equ		0xb1
din_width_low		equ		0xe0

;
; 6-bit volumes
;

; unaccented volumes
vol_base_bdrum		equ		21
vol_base_sdrum		equ		27
vol_base_ltom		equ		15
vol_base_mtom		equ		15
vol_base_htom		equ		15
vol_base_rshot		equ		15
vol_base_hclap		equ		15
vol_base_chihat		equ		50	; 43
vol_base_ohihat		equ		50	; 43
vol_base_crash		equ		51
vol_base_ride		equ		51

vol_base_midi		equ		63

; accent deltas 
; note: these are added to unaccented volume (2x)
; for example 15 + 24 + 24 == max volume 63
vol_acc_bdrum		equ		21	; 21 + 21 + 21
vol_acc_sdrum		equ		18
vol_acc_ltom		equ		24
vol_acc_mtom		equ		24
vol_acc_htom		equ		24
vol_acc_rshot		equ		24
vol_acc_hclap		equ		24
vol_acc_chihat		equ		10
vol_acc_ohihat		equ		10
vol_acc_crash		equ		6
vol_acc_ride		equ		6	; 51 + 6 + 6

vol_acc_midi		equ		32

; lcd delays, how many "256 * timer 2 interrupts" are
;  needed to allow a next lcd display to be
;  changed over the current.  
time_lcd_short		equ		40
time_lcd_medium		equ		70
time_lcd_long		equ		120

External Labels :

	None.