view components/frame_fl @ 261:841a848ba762

SPI SWE: clear any pending boot-time interrupts in spi_init() Charger plug/unplug hw logic in the Iota ABB has no built-in debouncing, thus electrical contact bounce on the charging power connection interface produces a lot of charger plug/unplug interrupts. When we boot in charging mode (charging power present at boot time and is presumably the cause of Switch-ON), some bounce may occur between the initial Iota Switch-ON action and Calypso firmware booting. By clearing any accumulated ITSTATREG interrupts on boot, we prevent these pre-boot interrupts from generating charger plug/unplug events to FCHG, which would upset smooth from-boot charging.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 14 May 2021 02:49:05 +0000
parents e58a5bb12de4
children
line wrap: on
line source

# Building frame_fl.lib using a mixture of source and blobs as configured

CFLAGS="-mw -x -pw2 -o3 -me -mt -g -mn"

# Defines

CPPFLAGS="-DNU_DEBUG -D_FF_RV_EXIST_ -DRUN_FLASH"
CPPFLAGS="$CPPFLAGS -D_TARGET_ -D_NUCLEUS_"

if [ "$MEMSUPER" != 0 ]
then
	CPPFLAGS="$CPPFLAGS -DMEMORY_SUPERVISION"
fi
if [ "$MEMSUPER" = 2 ]
then
	CPPFLAGS="$CPPFLAGS -DOPTIMIZE_POOL"
fi

# Includes

CPPFLAGS="$CPPFLAGS -I$SRC/gpf/frame"
CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc/nuc"
CPPFLAGS="$CPPFLAGS -I$SRC/nucleus"
CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc"
CPPFLAGS="$CPPFLAGS -I$SRC/gpf/tst"

# Source modules

SRCDIR=$SRC/gpf/frame

cfile_symlink $SRCDIR/frame.c
cfile_symlink $SRCDIR/vsi_sem.c
cfile_symlink $SRCDIR/vsi_com.c
cfile_symlink $SRCDIR/vsi_mem.c
cfile_symlink $SRCDIR/vsi_tim.c
cfile_symlink $SRCDIR/vsi_mis.c
cfile_symlink $SRCDIR/vsi_drv.c
cfile_symlink $SRCDIR/vsi_trc.c
cfile_symlink $SRCDIR/vsi_pro.c
if [ "$MEMSUPER" != 0 ]
then
	cfile_symlink $SRCDIR/vsi_ppm.c
fi
cfile_symlink $SRCDIR/xalert.c
cfile_symlink $SRCDIR/route.c
cfile_symlink $SRCDIR/prf_func.c
cfile_symlink $SRCDIR/frm_ext.c
cfile_symlink $SRCDIR/frame_version.c

# OSL

if [ "$OSL" = 1 ]
then

	# drop -o3
	CFLAGS="-mw -x -pw2 -o -me -mt -g -mn"

	SRCDIR=$SRC/gpf/osl

	cfile_plain $SRCDIR/os_com_fl.c
	cfile_plain $SRCDIR/os_drv.c
	cfile_plain $SRCDIR/os_isr.c
	cfile_plain $SRCDIR/os_mem_fl.c
	cfile_plain $SRCDIR/os_mis_fl.c
	cfile_plain $SRCDIR/os_pro_fl.c
	cfile_plain $SRCDIR/os_sem_fl.c
	cfile_plain $SRCDIR/os_tim_fl.c

else

	OBJDIR=../../blobs/osl/fl
	OBJDIR_PS=../../blobs/osl/fl_ps

	OBJS="$OBJS $OBJDIR/os_com.obj"
	OBJS="$OBJS $OBJDIR/os_drv.obj"
	OBJS="$OBJS $OBJDIR/os_evt.obj"
	OBJS="$OBJS $OBJDIR/os_isr.obj"
	if [ "$MEMSUPER" != 0 ]
	then
		OBJS="$OBJS $OBJDIR_PS/os_mem.obj"
		OBJS="$OBJS $OBJDIR_PS/os_mis.obj"
	else
		OBJS="$OBJS $OBJDIR/os_mem.obj"
		OBJS="$OBJS $OBJDIR/os_mis.obj"
	fi
	OBJS="$OBJS $OBJDIR/os_pro.obj"
	OBJS="$OBJS $OBJDIR/os_sem.obj"
	OBJS="$OBJS $OBJDIR/os_tim.obj"

fi