view gsm-fw/nucleus/demo/tmcal.c @ 853:ae254ffeaec3

AT command interface works! The cause of the breakage was the same Nucleus API issue with NU_Create_Timer() which we encountered at the very beginning of this project with Riviera timers: the code in uartfax.c from TCS211 was passing 0 as the initial dummy value for the timer duration, and our FreeNucleus version doesn't like it. The fix is the same: pass 1 as the initial dummy value instead.
author Space Falcon <falcon@ivan.Harhan.ORG>
date Thu, 30 Apr 2015 01:46:26 +0000
parents afceeeb2cba1
children
line wrap: on
line source

/*
 * FreeNucleus port by Spacefalcon the Outlaw
 *
 * This module implements the INT_Timer_Initialize() function
 * for the proof-of-concept Calypso port.
 *
 * TIMER2 configuration is based on that used by OsmocomBB.
 */

#include "calirq.h"
#include "caltimer.h"

void
INT_Timer_Initialize()
{
	/* program the timer */
	TIMER2_REGS.cntl = CNTL_CLOCK_ENABLE;
	TIMER2_REGS.load = 4062;
	TIMER2_REGS.cntl = CNTL_CLOCK_ENABLE | CNTL_AUTO_RELOAD | CNTL_START;
	/* now let it interrupt */
	INTH_REGS.ilr_irq[IRQ_TIMER2] = 0x7E;
	INTH_REGS.mask_it_reg1 &= ~(1 << IRQ_TIMER2);
}