view scripts/config-headers-new.sh @ 636:57e67ca2e1cb

pcmdata.c: default +CGMI to "FreeCalypso" and +CGMM to model The present change has no effect whatsoever on Falconia-made and Openmoko-made devices on which /pcm/CGMI and /pcm/CGMM files have been programmed in FFS with sensible ID strings by the respective factories, but what should AT+CGMI and AT+CGMM queries return when the device is a Huawei GTM900 or Tango modem that has been converted to FreeCalypso with a firmware change? Before the present change they would return compiled-in defaults of "<manufacturer>" and "<model>", respectively; with the present change the firmware will self-identify as "FreeCalypso GTM900-FC" or "FreeCalypso Tango" on the two respective targets. This firmware identification will become important if someone incorporates an FC-converted GTM900 or Tango modem into a ZeroPhone-style smartphone where some high-level software like ofono will be talking to the modem and will need to properly identify this modem as FreeCalypso, as opposed to some other AT command modem flavor with different quirks. In technical terms, the compiled-in default for the AT+CGMI query (which will always be overridden by the /pcm/CGMI file in FFS if one is present) is now "FreeCalypso" in all configs on all targets; the compiled-in default for the AT+CGMM query (likewise always overridden by /pcm/CGMM if present) is "GTM900-FC" if CONFIG_TARGET_GTM900 or "Tango" if CONFIG_TARGET_TANGO or the original default of "<model>" otherwise.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 19 Jan 2020 20:14:58 +0000
parents 92dbfa906f66
children 8cf3029429f3
line wrap: on
line source

#!/bin/sh

if [ -z "$TARGET" ]
then
	echo "Error: TARGET= must be passed via environment" 1>&2
	exit 1
fi

if [ -z "$BUILD_DIR" ]
then
	echo "Error: BUILD_DIR= must be passed via environment" 1>&2
	exit 1
fi

# The following vars will already be set when this script is invoked
# from configure.sh in a production build, but the following defaulting logic
# helps with manual invokation during development.

if [ -z "$CHIPSET" ]
then
	CHIPSET=10
fi
export CHIPSET

if [ -z "$DSP" ]
then
	DSP=36
fi
export DSP

if [ -z "$RF" ]
then
	RF=12
fi
export RF

if [ -z "$AMR" ]
then
	AMR=1
fi
export AMR

if [ -z "$L1_DYN_DSP_DWNLD" ]
then
	L1_DYN_DSP_DWNLD=1
fi
export L1_DYN_DSP_DWNLD

if [ -z "$L1_VOICE_MEMO_AMR" ]
then
	L1_VOICE_MEMO_AMR=1
fi
export L1_VOICE_MEMO_AMR

if [ -z "$MELODY_E2" ]
then
	MELODY_E2=1
fi
export MELODY_E2

if [ -z "$SPEECH_RECO" ]
then
	SPEECH_RECO=1
fi
export SPEECH_RECO

if [ -z "$GPRS" ]
then
	GPRS=1
fi
export GPRS

if [ -z "$SRVC" ]
then
	SRVC=1
fi
export SRVC

if [ -z "$ATP_STATE" ]
then
	ATP_STATE=0
fi
export ATP_STATE

if [ -z "$FCHG_STATE" ]
then
	FCHG_STATE=1
fi
export FCHG_STATE

if [ -z "$LCC_STATE" ]
then
	LCC_STATE=0
fi
export LCC_STATE

if [ -z "$MKS_STATE" ]
then
	MKS_STATE=0
fi
export MKS_STATE

if [ -z "$PWR_STATE" ]
then
	PWR_STATE=0
fi
export PWR_STATE

if [ -z "$R2D_STATE" ]
then
	R2D_STATE=1
fi
export R2D_STATE

if [ -z "$DSAMPLE_FULL_COLOR" ]
then
	DSAMPLE_FULL_COLOR=1
fi
export DSAMPLE_FULL_COLOR

if [ -z "$TR_BAUD_CONFIG" ]
then
	TR_BAUD_CONFIG=TR_BAUD_115200
fi
export TR_BAUD_CONFIG

# Derived settings only for the generation of *.cfg headers

case "$RF" in
	10)
		RF_FAM=10
		RF_PA=0
		RF_PG=0
		;;
	12)
		RF_FAM=12
		RF_PA=2
		RF_PG=2
		;;
	*)
		echo "Error: RF=$RF setting not understood" 1>&2
		exit 1
esac
export RF_FAM RF_PA RF_PG

case "$GPRS" in
	0)
		L1_GPRS=0
		PMODE=1
		;;
	1)
		L1_GPRS=1
		PMODE=2
		;;
	*)
		echo "Error: GPRS=$GPRS setting not understood" 1>&2
		exit 1
esac
export L1_GPRS PMODE

if [ "$SRVC" != 0 ]
then
	IDS=1
else
	IDS=0
fi
export IDS

# do it!

set -e

rm -rf $BUILD_DIR/config
mkdir $BUILD_DIR/config
helpers/cfg-hdr-gen scripts/cfg-template $BUILD_DIR/config
scripts/make-rv-swe-hdr.sh > $BUILD_DIR/config/rv_swe.h
cp targets/$TARGET.h $BUILD_DIR/config/fc-target.h