Tuesday, November 19, 2019

Disable LAN/WLAN Power Saving Mode in RaspberryPi

Raspberry pi connection may be lost as in raspbian or maybe other linux, the power saving mode for network interfaces is enabled by default.  They supposed to wake up by external events but if they got IP from dhcp and it get expired then no route can be made to them.

Here is some way to disable power saving on LAN (eth0) and WiFi (wlan0) interface.

LAN:
Add the following parameter to /boot/config.txt

dtparam=eee=off


WiFi:
Add the following command in /etc/rc.local

/sbin/iw dev wlan0 set power_save off

Wednesday, October 30, 2019

Arduino + Tinygo + Docker + Avrdude

Using golang to program arduino uni board

1- Code
package main

import (
    "machine"
    "time"
    // "fmt"
)

const led = machine.LED

func main() {
    // fmt.Println("Test")
    println("Hello, TinyGo")
    led.Configure(machine.PinConfig{Mode: machine.PinOutput})
    for {
        led.Low()
        time.Sleep(time.Second)

        led.High()
        time.Sleep(time.Second)
    }
}
* fmt is not supported, cannot be used.

2- Compile using tinygo docker image 
docker run --rm -v $(pwd):/src tinygo/tinygo:0.9.0 
tinygo build -o /src/test1.hex -size=short -target=arduino /src/tinygo/tinygo1.go
* The source is in $(pwd)/tinygo/tinygo1.go

3- Upload by avrdude in command line

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude 
-C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf 
-v -patmega328p -carduino -P/dev/cu.usbserial-1440 -b115200 -D -Uflash:w:$(pwd)/tinygo/test1.hex:i
* I got command from Arduino IDE, by enabling verbose mode for upload and run a sample upload

Saturday, October 26, 2019

Raspberry Pi Testing/Unstable Repository

Add the following one to /etc/apt/sources.list

deb http://mirrordirector.raspbian.org/raspbian/ testing main contrib non-free rpi