Changeset - af87b55ed4c6
[Not reviewed]
default
5 1 1
Ethan Zonca - 10 years ago 2016-03-25 22:46:25
ez@ethanzonca.com
Forget old files, add real callsign
7 files changed with 7 insertions and 24 deletions:
0 comments (0 inline, 0 general)
.hgignore
Show inline comments
 
new file 100644
 
syntax: glob
 

	
 
*\.o
 
*\.d
lib/jtencode/encode_rs_int.o
Show inline comments
 
deleted file
 
binary diff not shown
lib/jtencode/init_rs_int.o
Show inline comments
 
deleted file
 
binary diff not shown
lib/jtencode/jtencode.o
Show inline comments
 
deleted file
 
binary diff not shown
lib/si5351/si5351.d
Show inline comments
 
deleted file
lib/si5351/si5351.o
Show inline comments
 
deleted file
 
binary diff not shown
src/main.c
Show inline comments
 
#include "stm32f0xx_hal.h"
 
#include "si5351.h"
 
#include "jtencode.h"
 
#include "adc.h"
 
#include "dma.h"
 
#include "i2c.h"
 
#include "usart.h"
 
#include "gpio.h"
 
#include "gps.h"
 
 
 
void sysclk_init(void);
 
//#define WSPR_DEFAULT_FREQ 14097100UL
 
#define WSPR_DEFAULT_FREQ 10140100UL
 
#define WSPR_TONE_SPACING 146 // ~1.46 Hz
 
#define WSPR_CTC 10672 // CTC value for WSPR
 
 
char call[7] = "N0CALL";
 
char loc[5] = "AA00";
 
uint8_t dbm = 27;
 
char call[7] = "KD8TDF";
 
char loc[5] = "EN72";
 
uint8_t dbm = 10;
 
uint8_t tx_buffer[255];
 
 
 
uint32_t freq = WSPR_DEFAULT_FREQ;
 
uint8_t symbol_count = WSPR_SYMBOL_COUNT;
 
uint16_t ctc = WSPR_CTC;
 
uint16_t tone_spacing = WSPR_TONE_SPACING;
 
volatile uint8_t proceed = 0;
 
 
void encode_wspr(void)
 
{
 
    uint8_t i;
 
    //for(i=0; i<255; i++)
 
    //    tx_buffer[i] = 0;
 
 
    wspr_encode(call, loc, dbm, tx_buffer);
 
 
 
    //si5351_output_enable(SI5351_CLK0, 1);
 
 
    for(i=0; i<symbol_count; i++)
 
    {
 
 
        uint32_t freq2 = (freq * 100) + (tx_buffer[i] * tone_spacing);
 
        si5351_set_freq(freq2, 0, SI5351_CLK0);
 
        HAL_GPIO_TogglePin(LED_BLUE);
 
 
          //si5351_set_freq((freq * 100) + (tx_buffer[i] * tone_spacing), 0, SI5351_CLK0);
 
          //HAL_Delay(300);
 
          proceed = 0;
 
          while(!proceed);
 
    }
 
        si5351_output_enable(SI5351_CLK0, 0);
 
}
 
 
    TIM_HandleTypeDef htim1;
 
 
int main(void)
 
{
 
    HAL_Init();
 
 
    sysclk_init();
 
    gpio_init();
 
    MX_DMA_Init();
 
    MX_ADC_Init();
 
    i2c_init();
 
 
    HAL_GPIO_WritePin(OSC_NOTEN, 0);
 
    HAL_GPIO_WritePin(TCXO_EN, 1);
 
 
 
    // Start timer for WSPR
 
    __TIM1_CLK_ENABLE();
 
    TIM_MasterConfigTypeDef sMasterConfig;
 
    TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig;
 
    TIM_OC_InitTypeDef sConfigOC;
 
 
    htim1.Instance = TIM1;
 
    htim1.Init.Prescaler = 512; // gives 64uS ticks from 8MHz ahbclk
 
    htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
 
    htim1.Init.Period = ctc; // Count up to this value (how many 64uS ticks per symbol)
 
    htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
 
    htim1.Init.RepetitionCounter = 0;
 
    HAL_TIM_Base_Init(&htim1);
 
 
    HAL_TIM_Base_Start_IT(&htim1);
 
/*
 
    sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
 
    sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
 
    HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig);
 
 
    sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
 
    sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
 
    sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
 
    sBreakDeadTimeConfig.DeadTime = 0;
 
    sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
 
    sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
 
    sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
 
    HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig);
 
 
    sConfigOC.OCMode = TIM_OCMODE_TIMING;
 
    sConfigOC.Pulse = 0;
 
    sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
 
    sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
 
    sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
 
    sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
 
    sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
 
    HAL_TIM_OC_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
 
*/
 
 
 
    HAL_NVIC_SetPriority(TIM1_BRK_UP_TRG_COM_IRQn, 0, 0);
 
    HAL_NVIC_EnableIRQ(TIM1_BRK_UP_TRG_COM_IRQn);
 
 
    HAL_Delay(100);
 
 
0 comments (0 inline, 0 general)