Skip to content
Snippets Groups Projects
Select Git revision
  • 4d7717b1f474080eae8f9798e4ff329ef3576f15
  • master default protected
  • backslash
  • nickname-match-configs
  • genofire/leds_rgb_get_state
  • genofire/rockets-state
  • genofire/ble-follow-py
  • plaetzchen/ios-workaround
  • blinkisync-as-preload
  • genofire/haule-ble-fs-deactive
  • schneider/max30001-pycardium
  • schneider/max30001-epicaridum
  • schneider/max30001
  • schneider/stream-locks
  • ios-workarounds
  • schneider/fundamental-test
  • schneider/ble-buffers
  • schneider/maxim-sdk-update
  • ch3/splashscreen
  • koalo/bhi160-works-but-dirty
  • koalo/wip/i2c-for-python
  • v1.9
  • v1.8
  • v1.7
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
34 results

main.c

Blame
  • Forked from card10 / firmware
    Source project has a limited visibility.
    main.c 8.91 KiB
    /*******************************************************************************
     * License: TBD
     ******************************************************************************/
    
    /***** Includes *****/
    #include <stdio.h>
    #include <stdint.h>
    #include <string.h>
    #include <stdlib.h>
    #include "mxc_config.h"
    #include "led.h"
    #include "board.h"
    #include "tmr_utils.h"
    #include "i2c.h"
    #include "rtc.h"
    #include "spi.h"
    #include "MAX30003.h"
    #include "GUI_DEV/GUI_Paint.h"
    #include "pmic.h"
    #include "card10.h"
    #include <stdbool.h>
    
    /***** Definitions *****/
    
    /***** Globals *****/
    static bool ecg_switch;
    static bool internal_pull;
    
    
    /***** Functions *****/
    static uint32_t ecg_read_reg(uint8_t reg)
    {
        spi_req_t req;
        uint8_t tx_data[] = {(reg << 1) | 1, 0, 0, 0};
        uint8_t rx_data[] = {0, 0, 0, 0};
        req.tx_data = tx_data;
        req.rx_data = rx_data;
        req.len = 4;
        req.bits = 8;
        req.width = SPI17Y_WIDTH_1;
        req.ssel = 0;
        req.deass = 1;
        req.ssel_pol = SPI17Y_POL_LOW;
        req.tx_num = 0;
        req.rx_num = 0;
    
        SPI_MasterTrans(SPI0, &req);
    
        return (rx_data[1] << 16) | (rx_data[2] << 8) | rx_data[3];
    }
    
    static void ecg_write_reg(uint8_t reg, uint32_t data)
    {
        printf("write %02x %06x\n", reg, data);
        spi_req_t req;
        uint8_t tx_data[] = {(reg << 1) | 0 , data >> 16, (data >> 8 ) & 0xFF, data & 0xFF};
        uint8_t rx_data[] = {0, 0, 0, 0};
        req.tx_data = tx_data;
        req.rx_data = rx_data;
        req.len = 4;
        req.bits = 8;
        req.width = SPI17Y_WIDTH_1;
        req.ssel = 0;
        req.deass = 1;
        req.ssel_pol = SPI17Y_POL_LOW;
        req.tx_num = 0;
        req.rx_num = 0;
    
        SPI_MasterTrans(SPI0, &req);
    }