cat << HERE
# Lircd configuration file for KlikAanKlikUit devices
# Based on data by pino (see http://gathering.tweakers.net/forum/list_messages/1077675/7#24805862)
# Generated by $0 on `date`

begin remote
  name   klik
  flags  CONST_LENGTH|REVERSE
  ptrail 394
  repeat 0     0
  gap    48575
  min_repeat 3

  bits   24
  one    1117  393
  zero   393  1117

  begin codes
HERE

function oprekken() {
  p=$1
  r=0
  for i in `seq 11 -1 0` 
  do 
     r=$[4*$r + (($p>>$i)&1)] 
  done

  echo "[0x]P $[2*$r] 16o p " | dc
}

UIT=0
AAN=1
UNKNOWN=6
LETTER=(A B C D E F G H I J K L M N O P)

for HUIS in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
do for KANAAL in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
   do NAAM=${LETTER[HUIS]}$[$KANAAL+1]
      CODE_AAN=$[ $HUIS + ($KANAAL<<4) + ($UNKNOWN<<8) + ($AAN<<11) ]
      CODE_UIT=$[ $HUIS + ($KANAAL<<4) + ($UNKNOWN<<8) + ($UIT<<11) ]
      echo -n "    ${NAAM}OFF " ; oprekken $CODE_UIT 
      echo -n "    ${NAAM}ON  " ; oprekken $CODE_AAN 
   done
done

echo '  end codes'
echo 'end remote'
