Coder Social home page Coder Social logo

libohiboard's Introduction

libohiboard

The libohiboard is an open-source firmware library for various ARM Cortex-M microcontrollers.

Currently developed microcontrollers:

  • MKL Series by NXP Semiconductor (M0+)
  • MK Series by NXP Semiconductor (M4)
  • MKV Series by NXP Semiconductor (M4)
  • STM32L4 Series by STM Semiconductor (M4)
  • STM32L0 Series by STM Semiconductor (M0+)
  • STM32WB Series by STM Semiconductor (M4 and M0+)
  • CMWX1ZZABZ Series by Murata Manufacturing Co., Ltd
  • PIC24FJ Series by Microchip Semiconductor

Coding style and guidilines

The codestyle is defined into this document. This document is Latex based: compile it!

License

The libohiboard is released under the terms of MIT License. See LICENSE.md for details.

Thanks To

Thanks to all person wrote a single row of code, or they suggested a change or gave us advice. See CREDITS.md for the complete list.

Contact Us

For any informations or request, please open an issue. Right now is the only way to contact us, but we are working for new methods.

libohiboard's People

Contributors

alessiopaolucci avatar amm-mpiersantelli avatar bigpaul89 avatar edobez avatar francescopiunti avatar matteo-veglio avatar matteocivale avatar matteopirro avatar nicopaolinelli avatar warcomeb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libohiboard's Issues

ADC into low-power

These functions must be added to reduce consumption (by @NicoPaolinelli ):

/*
 * To keep power consumption low, it is important to disable the ADC voltage regulator
 * before entering lowpower mode (LPRun, LPSleep or Stop mode).
 */
void LowPower_disableADCRegulator (void)
{
    if (UTILITY_READ_REGISTER_BIT(ADC1->CR, ADC_CR_ADEN) == 1)
    {
        UTILITY_SET_REGISTER_BIT(ADC1->CR, ADC_CR_ADDIS);
    }
    UTILITY_CLEAR_REGISTER_BIT(ADC1->CR, ADC_CR_ADVREGEN);
}

void LowPower_enableADCRegulator (void)
{
    UTILITY_SET_REGISTER_BIT(ADC1->CR, ADC_CR_ADVREGEN);
    UTILITY_SET_REGISTER_BIT(ADC1->CR, ADC_CR_ADEN);

    while (UTILITY_READ_REGISTER_BIT(ADC1->CR, ADC_ISR_ADRDY) != 1);
    UTILITY_SET_REGISTER_BIT(ADC1->CR, ADC_ISR_ADRDY);
}

Test libreria

Testare libreria con scheda OHIBoard.
Essendo i moduli USART uguali nelle famiglie K40 e K60, si potrebbe provare anche sulla Kiwistick o sulle board in kit con le Tower che ci sono all'università.

Baudrate error in kl15

Added rounding up and down for calculation of sbr.

/* Calculate baud settings */
float pre_sbr = (float)clockHz/(baudrate * 16); // per arrotondamento
sbr = (uint16_t)((clockHz)/(baudrate * 16));
    if (pre_sbr-sbr>0.5){
        sbr=sbr+1;
    }

Critical Section on STM32L0

The critical section of L0 devices can't be the same of SMT32L4 because the M0/M0+ doesn't have interrupt level management:

ARM Infocenter

Note
On Cortex-M0 and Cortex-M0+ processors, dynamic changing of priority on enabled interrupts or exceptions is not supported.

Scrivere file di testo Repo

Bisogna scrivere il README, CREDITS e LICENSE della Repo.
Da notare che il README è quello che compare quando si apre la repo su GitHub.

Implementare funzioni base

Implementare funzioni base per la scrittura e la lettura dai moduli USART
Queste sono le funzioni di basso livello che operano con i registri.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.