Code Monkey home page Code Monkey logo

baremetal's Introduction

ShpakovDmitry

Hi ๐Ÿ‘‹, I'm Dmitry Shpakov,
Embedded Software and Hardware Developer.

/* -*-c++-*-
 * @file: github.cpp
 * @author: Dmitry Shpakov
 * @date: 2021-10-29
 * @licence: CC0
 *
 */

// FIXME I have no idea what this piece of code does

#include <github>
#include <memory>
#include <iostream>

int main(int argc, char** argv) {
    std::unique_ptr<TVisitor> visitor = std::make_unique<TVisitor>(GIT_REPO_VISITOR);

    std::cout << "Welcome dear " << visitor->getName() << "!" << std::endl;
    
    return 0;
}

// XXX Compile with -Wall -Werror flags.

// vim: syntax=cpp ts=4 sw=4 sts=4 sr et



I use Arch BTW :)

Last modified at 2024-02-27.

baremetal's People

Contributors

shpakovdmitry avatar

Watchers

 avatar

Forkers

kyh-ly

baremetal's Issues

Naming convention.

Consider to change naming convention from:

void enableInterruptRtc(RtcModule rtcModule);
pid_t addTaskSheduler(TaskEntry taskEntry, shedtime_t period);

to something similar to:

void RTC_enableInterrupt(RTC_Module module);
pid_t Sheduler_addTask(Sheduler_TaskEntry task, Sheduler_Time period);

The main difference is to add module name at the begining to method and type.
This will lead to easier routines search in source code.

โš ๏ธ NOTE: It will lead to huge code revision
So, think twice before doing this.
On the one hand you get better code readability(IMHO), but on the other hand you leave code develop flow more easy to follow(IMHO).

The repo has gone far away from the initial task.

The initial task was to create bare metal blink. Now it can more that only blink. There is sheduler, rtc, systick, uart, temperature measurements.

Maybe it could be better to divide this repo internally into logical parts. Starting from runtime setup the another paragraph blink, then blink with rtc and so on.
This may lead from over-engineered repo to tutorial like repo. And in tutorial like repo it is possible to easily add part regarding, for example Bluetooth, sheduler, file storage and so on.

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.