Skip to content

Commit

Permalink
Initial implementation of SRXE board and blinky example
Browse files Browse the repository at this point in the history
  • Loading branch information
twasilczyk committed Aug 22, 2021
1 parent ea6fb69 commit 5ef94d0
Show file tree
Hide file tree
Showing 7 changed files with 129 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ jobs:
- name: Examples AVR Series
if: always()
run: |
(cd examples && ../tools/scripts/examples_compile.py avr arduino_uno arduino_nano)
(cd examples && ../tools/scripts/examples_compile.py avr arduino_uno arduino_nano srxe)
- name: Compile AVR Unittests AT90CAN
if: always()
run: |
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -523,6 +523,7 @@ We have out-of-box support for many development boards including documentation.
<td align="center"><a href="https://modm.io/reference/module/modm-board-raspberrypi">Raspberry Pi</a></td>
<td align="center"><a href="https://modm.io/reference/module/modm-board-samd21-mini">SAMD21-MINI</a></td>
</tr><tr>
<td align="center"><a href="https://modm.io/reference/module/modm-board-srxe">SRXE</a></td>
<td align="center"><a href="https://modm.io/reference/module/modm-board-stm32_f4ve">STM32-F4VE</a></td>
<td align="center"><a href="https://modm.io/reference/module/modm-board-stm32f030_demo">STM32F030-DEMO</a></td>
</tr>
Expand Down
26 changes: 26 additions & 0 deletions examples/srxe/blink/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
* Copyright (c) 2021, Tomasz Wasilczyk
*
* This file is part of the modm project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
// ----------------------------------------------------------------------------

#include <modm/board.hpp>

int
main()
{
using namespace Board;

initialize();

while (true)
{
LedDebug::toggle();
modm::delay(1s);
}
}
9 changes: 9 additions & 0 deletions examples/srxe/blink/project.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<library>
<extends>modm:srxe</extends>
<options>
<option name="modm:build:build.path">../../../build/srxe/blink</option>
</options>
<modules>
<module>modm:build:scons</module>
</modules>
</library>
43 changes: 43 additions & 0 deletions src/modm/board/srxe/board.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
* Copyright (c) 2021, Tomasz Wasilczyk
*
* This file is part of the modm project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
// ----------------------------------------------------------------------------

#pragma once

#include <modm/platform.hpp>

/// @ingroup modm_board_srxe
namespace Board {

using namespace modm::literals;

using SystemClock = modm::platform::SystemClock;

using LedDebug = modm::platform::GpioB0;
using Leds = modm::platform::SoftwareGpioPort<LedDebug>;

namespace Display {

using DC = modm::platform::GpioD6;
using CS = modm::platform::GpioE7;
using RST = modm::platform::GpioG2;

} // namespace Display

inline void
initialize() {
SystemClock::enable();

LedDebug::setOutput();

modm::platform::enableInterrupts();
}

} // namespace Board
15 changes: 15 additions & 0 deletions src/modm/board/srxe/board.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<library>
<repositories>
<repository>
<path>../../../../repo.lb</path>
</repository>
</repositories>

<options>
<option name="modm:target">atmega128rfa1-zu</option>
<option name="modm:platform:core:f_cpu">16000000</option>
</options>
<modules>
<module>modm:board:srxe</module>
</modules>
</library>
34 changes: 34 additions & 0 deletions src/modm/board/srxe/module.lb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright (c) 2021, Tomasz Wasilczyk
#
# This file is part of the modm project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# -----------------------------------------------------------------------------

def init(module):
module.name = ":board:srxe"
module.description = "Smart Response XE"

def prepare(module, options):
if not options[":target"].partname.startswith("atmega128rfa1"):
return False

module.depends(
":architecture:clock",
":architecture:interrupt",
":debug",
":platform:clock",
":platform:core",
":platform:gpio",
":platform:uart:0")
return True

def build(env):
env.outbasepath = "modm/src/modm/board"
env.copy('.')
env.collect(":build:default.avrdude.programmer", "usbasp");

0 comments on commit 5ef94d0

Please sign in to comment.