Files
jGPIO/src/SBC/Odroid/N2_Pin.java
2024-12-04 08:59:37 +07:00

90 lines
3.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package SBC.Odroid;
import SBC.BasicSBCInfo;
import anywheresoftware.b4a.BA;
@BA.ShortName("Odroid_N2_Pin")
/**
* Source : https://wiki.odroid.com/odroid-n2/hardware/expansion_connectors
* @author rdkartono
*
*/
public class N2_Pin extends BasicSBCInfo{
public N2_Pin() {
super();
}
public final int pin03 = 493;
public final int pin05 = 494;
public final int pin07 = 473;
public final int pin11 = 479;
public final int pin13 = 480;
public final int pin15 = 483;
public final int pin19 = 484;
public final int pin21 = 485;
public final int pin23 = 487;
public final int pin27 = 474;
public final int pin29 = 490;
public final int pin31 = 491;
public final int pin33 = 481;
public final int pin35 = 482;
public final int pin08 = 488;
public final int pin10 = 489;
public final int pin12 = 492;
public final int pin16 = 476;
public final int pin18 = 477;
public final int pin22 = 478;
public final int pin24 = 486;
public final int pin26 = 464;
public final int pin28 = 475;
public final int pin32 = 472;
public final int pin36 = 495;
// Source : https://wiki.odroid.com/odroid-n2/software/gpio_register_map
// for use in "/dev/gpiomem"
// Example : https://wiki.odroid.com/odroid-n2/application_note/gpio/memory_mapped_gpio
public final long GPIO_BASE_ADDRESS = 0xFF634400;
// GPIO_X is 20 pin , numbered 0 to 19
public final long GPIO_X_SET_DIRECTION_REGISTER = GPIO_BASE_ADDRESS + (0x16 * 4); // [19 : 0] , '0' = Output, '1' = Input
public final long GPIO_X_WRITE_REGISTER = GPIO_BASE_ADDRESS + (0x17 * 4); // [19 : 0] , '0' = Low, '1' = High
public final long GPIO_X_READ_REGISTER = GPIO_BASE_ADDRESS + (0x18 * 4); // [19 : 0] ,
public final long GPIO_X_ENABLE_PULL_REGISTER = GPIO_BASE_ADDRESS + (0x4A * 4); // [19 : 0] , '0' = Disable Pull-Mode, '1' = Enable Pull-Mode
public final long GPIO_X_MODE_PULL_REGISTER = GPIO_BASE_ADDRESS + (0x3C * 4); // [19 : 0] , '0' = Pull-Down , '1' = Pull-Up
// GPIO_A is 11 pin, numbered 0 to 5, and 11 to 15
public final long GPIO_A_SET_DIRECTION_REGISTER = GPIO_BASE_ADDRESS + (0x20 * 4); // [15 : 0] , '0' = Output, '1' = Input
public final long GPIO_A_WRITE_REGISTER = GPIO_BASE_ADDRESS + (0x21 * 4); // [15 : 0] , '0' = Low, '1' = High
public final long GPIO_A_READ_REGISTER = GPIO_BASE_ADDRESS + (0x22 * 4); // [19 : 0] ,
public final long GPIO_A_ENABLE_PULL_REGISTER = GPIO_BASE_ADDRESS + (0x4D * 4); // [19 : 0] , '0' = Disable Pull-Mode, '1' = Enable Pull-Mode
public final long GPIO_A_MODE_PULL_REGISTER = GPIO_BASE_ADDRESS + (0x3F * 4); // [19 : 0] , '0' = Pull-Down , '1' = Pull-Up
// I2C
// Source : https://wiki.odroid.com/odroid-n2/application_note/gpio/i2c
// Net Name I2C Register PCB Location SDA(#GPIO) SCL(#GPIO) Default Speed Device Node
// I2C-2 0xFFD1D000 J2 (2×20 pins) GPIOX.17(#493) GPIOX.18(#494) 400 KHz /dev/i2c-2
// I2C-3 0xFFD1C000 J2 (2×20 pins) GPIOA.14(#474) GPIOA.15(#475) 100 KHz /dev/i2c-3
public final String i2c_2 = "/dev/i2c-2";
public final String i2c_3 = "/dev/i2c-3";
public void Initialize(BA bax, Object callerobject, String event) {
setup_events(bax, callerobject, event, this);
}
/**
* Belum tau caranya
* selalu return 0
*/
@Override
public double Get_CPU_CoreVolt() {
// TODO belum tau caranya
return 0;
}
}