sysctl: spi pins loading test

This commit is contained in:
Lukas F. Hartmann 2023-08-07 21:47:30 +02:00
parent d4fba1bfd4
commit fe767923e2
No known key found for this signature in database
GPG Key ID: 376511EB67AD7BAF
1 changed files with 36 additions and 1 deletions

View File

@ -599,6 +599,13 @@ void turn_som_power_on() {
sleep_ms(10); sleep_ms(10);
gpio_put(PIN_3V3_ENABLE, 1); gpio_put(PIN_3V3_ENABLE, 1);
sleep_ms(10); sleep_ms(10);
// FIXME spi test
gpio_put(PIN_SOM_MOSI, 1);
gpio_put(PIN_SOM_SS0, 1);
gpio_put(PIN_SOM_SCK, 1);
gpio_put(PIN_SOM_MISO, 1);
gpio_put(PIN_5V_ENABLE, 1); gpio_put(PIN_5V_ENABLE, 1);
sleep_ms(10); sleep_ms(10);
@ -608,6 +615,12 @@ void turn_som_power_on() {
} }
void turn_som_power_off() { void turn_som_power_off() {
// FIXME spi test
gpio_put(PIN_SOM_MOSI, 0);
gpio_put(PIN_SOM_SS0, 0);
gpio_put(PIN_SOM_SCK, 0);
gpio_put(PIN_SOM_MISO, 0);
gpio_put(PIN_LED_B, 0); gpio_put(PIN_LED_B, 0);
printf("[turn_som_power_off]\n"); printf("[turn_som_power_off]\n");
@ -838,10 +851,32 @@ int main() {
gpio_put(PIN_DISP_EN, 0); gpio_put(PIN_DISP_EN, 0);
gpio_put(PIN_DISP_RESET, 0); gpio_put(PIN_DISP_RESET, 0);
gpio_init(PIN_FLIGHTMODE);
gpio_set_dir(PIN_FLIGHTMODE, 1);
gpio_put(PIN_FLIGHTMODE, 1); // active low
gpio_put(PIN_LED_R, 0); gpio_put(PIN_LED_R, 0);
gpio_put(PIN_LED_G, 0); gpio_put(PIN_LED_G, 0);
gpio_put(PIN_LED_B, 0); gpio_put(PIN_LED_B, 0);
// TODO: actual SPI bus
gpio_init(PIN_SOM_MOSI);
gpio_init(PIN_SOM_SS0);
gpio_init(PIN_SOM_SCK);
gpio_init(PIN_SOM_MISO);
gpio_set_dir(PIN_SOM_MOSI, 1);
gpio_set_dir(PIN_SOM_SS0, 1);
gpio_set_dir(PIN_SOM_SCK, 1);
gpio_set_dir(PIN_SOM_MISO, 1);
gpio_put(PIN_SOM_MOSI, 0);
gpio_put(PIN_SOM_SS0, 0);
gpio_put(PIN_SOM_SCK, 0);
gpio_put(PIN_SOM_MISO, 0);
//gpio_set_pulls(PIN_SOM_MOSI, 0, 0);
//gpio_set_pulls(PIN_SOM_MISO, 0, 0);
//gpio_set_pulls(PIN_SOM_SS0, 0, 0);
//gpio_set_pulls(PIN_SOM_SCK, 0, 0);
unsigned int t = 0; unsigned int t = 0;
unsigned int t_report = 0; unsigned int t_report = 0;
@ -1008,7 +1043,7 @@ int main() {
} }
} }
if (t_report>2000) { if (t_report>5000) {
max_dump(); max_dump();
t_report = 0; t_report = 0;
} }