Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Bugfix: do not overwrite board properties during compile #1820

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 0 additions & 47 deletions 47 legacy/builder/add_build_board_property_if_missing.go

This file was deleted.

1 change: 0 additions & 1 deletion 1 legacy/builder/container_setup.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ func (s *ContainerSetupHardwareToolsLibsSketchAndProps) Run(ctx *types.Context)
&RewriteHardwareKeys{},
&TargetBoardResolver{},
&ToolsLoader{},
&AddBuildBoardPropertyIfMissing{},
&LibrariesLoader{},
}

Expand Down
3 changes: 1 addition & 2 deletions 3 legacy/builder/setup_build_properties.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,11 @@ func (s *SetupBuildProperties) Run(ctx *types.Context) error {

targetPlatform := ctx.TargetPlatform
actualPlatform := ctx.ActualPlatform
targetBoard := ctx.TargetBoard

buildProperties := properties.NewMap()
buildProperties.Merge(actualPlatform.Properties)
buildProperties.Merge(targetPlatform.Properties)
buildProperties.Merge(targetBoard.Properties)
buildProperties.Merge(ctx.TargetBoardBuildProperties)

if ctx.BuildPath != nil {
buildProperties.SetPath("build.path", ctx.BuildPath)
Expand Down
13 changes: 10 additions & 3 deletions 13 legacy/builder/target_board_resolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ func (s *TargetBoardResolver) Run(ctx *types.Context) error {
return fmt.Errorf("%s: %w", tr("Error resolving FQBN"), err)
}

targetBoard.Properties = buildProperties // FIXME....

core := targetBoard.Properties.Get("build.core")
core := buildProperties.Get("build.core")
if core == "" {
core = "arduino"
}
Expand All @@ -44,8 +42,17 @@ func (s *TargetBoardResolver) Run(ctx *types.Context) error {
ctx.Info(tr("Using core '%[1]s' from platform in folder: %[2]s", core, actualPlatform.InstallDir))
}

if buildProperties.Get("build.board") == "" {
architecture := targetBoard.PlatformRelease.Platform.Architecture
defaultBuildBoard := strings.ToUpper(architecture + "_" + targetBoard.BoardID)
buildProperties.Set("build.board", defaultBuildBoard)
ctx.Info(tr("Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s",
targetBoard.String(), "'build.board'", defaultBuildBoard))
}

ctx.BuildCore = core
ctx.TargetBoard = targetBoard
ctx.TargetBoardBuildProperties = buildProperties
ctx.TargetPlatform = targetPlatform
ctx.TargetPackage = targetPackage
ctx.ActualPlatform = actualPlatform
Expand Down
12 changes: 6 additions & 6 deletions 12 legacy/builder/test/add_build_board_property_if_missing_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ func TestAddBuildBoardPropertyIfMissing(t *testing.T) {
commands := []types.Command{
&builder.HardwareLoader{},
&builder.TargetBoardResolver{},
&builder.AddBuildBoardPropertyIfMissing{},
}

for _, command := range commands {
Expand All @@ -60,8 +59,9 @@ func TestAddBuildBoardPropertyIfMissing(t *testing.T) {
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
targetBoard := ctx.TargetBoard
require.Equal(t, "mymega", targetBoard.BoardID)
require.Equal(t, "atmega2560", targetBoard.Properties.Get("build.mcu"))
require.Equal(t, "AVR_MYMEGA2560", targetBoard.Properties.Get("build.board"))
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
require.Equal(t, "atmega2560", targetBoardBuildProperties.Get("build.mcu"))
require.Equal(t, "AVR_MYMEGA", targetBoardBuildProperties.Get("build.board"))
}

func TestAddBuildBoardPropertyIfMissingNotMissing(t *testing.T) {
Expand All @@ -76,7 +76,6 @@ func TestAddBuildBoardPropertyIfMissingNotMissing(t *testing.T) {
commands := []types.Command{
&builder.HardwareLoader{},
&builder.TargetBoardResolver{},
&builder.AddBuildBoardPropertyIfMissing{},
}

for _, command := range commands {
Expand All @@ -90,6 +89,7 @@ func TestAddBuildBoardPropertyIfMissingNotMissing(t *testing.T) {
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
targetBoard := ctx.TargetBoard
require.Equal(t, "mymega", targetBoard.BoardID)
require.Equal(t, "atmega1280", targetBoard.Properties.Get("build.mcu"))
require.Equal(t, "AVR_MYMEGA", targetBoard.Properties.Get("build.board"))
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
require.Equal(t, "atmega1280", targetBoardBuildProperties.Get("build.mcu"))
require.Equal(t, "MYMEGA1280", targetBoardBuildProperties.Get("build.board"))
}
24 changes: 15 additions & 9 deletions 24 legacy/builder/test/target_board_resolver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ func TestTargetBoardResolverUno(t *testing.T) {
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
targetBoard := ctx.TargetBoard
require.Equal(t, "uno", targetBoard.BoardID)
require.Equal(t, "atmega328p", targetBoard.Properties.Get("build.mcu"))
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
require.Equal(t, "atmega328p", targetBoardBuildProperties.Get("build.mcu"))
}

func TestTargetBoardResolverDue(t *testing.T) {
Expand All @@ -72,7 +73,8 @@ func TestTargetBoardResolverDue(t *testing.T) {
require.Equal(t, "sam", targetPlatform.Platform.Architecture)
targetBoard := ctx.TargetBoard
require.Equal(t, "arduino_due_x", targetBoard.BoardID)
require.Equal(t, "cortex-m3", targetBoard.Properties.Get("build.mcu"))
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
require.Equal(t, "cortex-m3", targetBoardBuildProperties.Get("build.mcu"))
}

func TestTargetBoardResolverMega1280(t *testing.T) {
Expand All @@ -97,8 +99,9 @@ func TestTargetBoardResolverMega1280(t *testing.T) {
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
targetBoard := ctx.TargetBoard
require.Equal(t, "mega", targetBoard.BoardID)
require.Equal(t, "atmega1280", targetBoard.Properties.Get("build.mcu"))
require.Equal(t, "AVR_MEGA", targetBoard.Properties.Get("build.board"))
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
require.Equal(t, "atmega1280", targetBoardBuildProperties.Get("build.mcu"))
require.Equal(t, "AVR_MEGA", targetBoardBuildProperties.Get("build.board"))
}

func TestTargetBoardResolverMega2560(t *testing.T) {
Expand All @@ -123,8 +126,9 @@ func TestTargetBoardResolverMega2560(t *testing.T) {
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
targetBoard := ctx.TargetBoard
require.Equal(t, "mega", targetBoard.BoardID)
require.Equal(t, "atmega2560", targetBoard.Properties.Get("build.mcu"))
require.Equal(t, "AVR_MEGA2560", targetBoard.Properties.Get("build.board"))
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
require.Equal(t, "atmega2560", targetBoardBuildProperties.Get("build.mcu"))
require.Equal(t, "AVR_MEGA2560", targetBoardBuildProperties.Get("build.board"))
}

func TestTargetBoardResolverCustomYun(t *testing.T) {
Expand All @@ -149,8 +153,9 @@ func TestTargetBoardResolverCustomYun(t *testing.T) {
require.Equal(t, "avr", targetPlatform.Platform.Architecture)
targetBoard := ctx.TargetBoard
require.Equal(t, "custom_yun", targetBoard.BoardID)
require.Equal(t, "atmega32u4", targetBoard.Properties.Get("build.mcu"))
require.Equal(t, "AVR_YUN", targetBoard.Properties.Get("build.board"))
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
require.Equal(t, "atmega32u4", targetBoardBuildProperties.Get("build.mcu"))
require.Equal(t, "AVR_YUN", targetBoardBuildProperties.Get("build.board"))
}

func TestTargetBoardResolverCustomCore(t *testing.T) {
Expand All @@ -176,5 +181,6 @@ func TestTargetBoardResolverCustomCore(t *testing.T) {
targetBoard := ctx.TargetBoard
require.Equal(t, "attiny841", targetBoard.BoardID)
require.Equal(t, "tiny841", ctx.BuildCore)
require.Equal(t, "tiny14", targetBoard.Properties.Get("build.variant"))
targetBoardBuildProperties := ctx.TargetBoardBuildProperties
require.Equal(t, "tiny14", targetBoardBuildProperties.Get("build.variant"))
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@ mymega.menu.cpu.atmega2560.bootloader.extended_fuses=0xFD
mymega.menu.cpu.atmega2560.bootloader.file={bootloader._folder}/stk500boot_v2_mega2560.hex

mymega.menu.cpu.atmega2560.build.mcu=atmega2560
mymega.menu.cpu.atmega2560.build.board=AVR_MYMEGA2560
# Do not define build.board to test autogeneration
#mymega.menu.cpu.atmega2560.build.board=AVR_MYMEGA2560

mymega.menu.cpu.atmega1280=ATmega1280

Expand All @@ -84,4 +85,5 @@ mymega.menu.cpu.atmega1280.bootloader.extended_fuses=0xF5
mymega.menu.cpu.atmega1280.bootloader.file={bootloader._folder}/ATmegaBOOT_168_atmega1280.hex

mymega.menu.cpu.atmega1280.build.mcu=atmega1280
mymega.menu.cpu.atmega1280.build.board=AVR_MYMEGA
# define custom build.board for testing
mymega.menu.cpu.atmega1280.build.board=MYMEGA1280
19 changes: 10 additions & 9 deletions 19 legacy/builder/types/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,16 @@ type Context struct {
BuildOptionsJson string
BuildOptionsJsonPrevious string

PackageManager *packagemanager.PackageManager
Hardware cores.Packages
AllTools []*cores.ToolRelease
RequiredTools []*cores.ToolRelease
TargetBoard *cores.Board
TargetPackage *cores.Package
TargetPlatform *cores.PlatformRelease
ActualPlatform *cores.PlatformRelease
USBVidPid string
PackageManager *packagemanager.PackageManager
Hardware cores.Packages
AllTools []*cores.ToolRelease
RequiredTools []*cores.ToolRelease
TargetBoard *cores.Board
TargetBoardBuildProperties *properties.Map
TargetPackage *cores.Package
TargetPlatform *cores.PlatformRelease
ActualPlatform *cores.PlatformRelease
USBVidPid string

PlatformKeyRewrites PlatforKeysRewrite
HardwareRewriteResults map[*cores.PlatformRelease][]PlatforKeyRewrite
Expand Down
Morty Proxy This is a proxified and sanitized view of the page, visit original site.