Tx support is considered experimental and potentially dangerous.
Thus, the default build of the firmware does not have Tx support
enabled.
If you want Tx support, compile with -DCONFIG_TX_ENABLE by uncommenting
the apropriate line in Makefile.inc
CFLAGS += -Os -ffunction-sections
CFLAGS += -g$(DEBUGF)
+# Uncomment this line if you want to enable Tx (Transmit) Support.
+#CFLAGS += -DCONFIG_TX_ENABLE
+
# some older toolchains don't support this, ignore it for now
#ASFLAGS=-Wa,-adhlns=$(<:.S=.lst),--g$(DEBUGF) $(INCLUDES) -D__ASSEMBLY__
ASFLAGS=-Wa,-adhlns=$(<:.S=.lst) $(INCLUDES) -D__ASSEMBLY__
tspact &= ~PA_ENABLE;
tspact |= TRENA | GSM_TXEN; /* low-active */
+#ifdef CONFIG_TX_ENABLE
/* Then we selectively set the bits on, if required */
if (tx) {
tspact &= ~TRENA;
tspact &= ~GSM_TXEN;
tspact |= PA_ENABLE; /* Dieter: TODO */
}
+#endif /* TRANSMIT_SUPPORT */
tsp_act_update(tspact);
}
{
struct msgb *msg;
+#ifndef CONFIG_TX_ENABLE
+ printf("\n\nTHIS FIRMWARE WAS COMPILED WITHOUT TX SUPPORT!!!\n\n");
+#endif
+
/* initialize asynchronous part of L1 */
l1a_init();
/* initialize TDMA Frame IRQ driven synchronous L1 */
/* uplink is three TS after downlink ( "+ 32" gives a TA of 1) */
uint16_t offset = (L1_BURST_LENGTH_Q * 3) + 28;
+#ifdef CONFIG_TX_ENABLE
/* window open for TRF6151 and RFFE */
rffe_mode(gsm_arfcn2band(arfcn), 1);
trf6151_tx_window(offset, arfcn);
+#endif
/* Window open for ABB */
twl3025_uplink(1, offset);
/* prepare a Tx window with the TRF6151 finished at time 'start' (in qbits) */
void trf6151_tx_window(int16_t start_qbits, uint16_t arfcn)
{
+#ifdef CONFIG_TX_ENABLE
int16_t start_pll_qbits;
/* power up at the right time _before_ the 'start_qbits' point in time */
trf6151_set_mode(TRF6151_TX);
/* FIXME: power down at the right time again */
+#endif
}