Your ROOT_URL in app.ini is https://git.ondrovo.com/ but you are visiting http://159.69.29.240:49153/MightyPork/tangara-fw/commit/a174d76aa16e09ddfc2ce67393c92ed947a817a5
You should set ROOT_URL correctly, otherwise the web may not work correctly.
3 changed files with
11 additions and
6 deletions
src/tangara/system_fsm/running.cpp
src/tangara/system_fsm/system_events.hpp
src/tangara/system_fsm/system_fsm.hpp
@ -40,7 +40,7 @@ void Running::entry() {
sUnmountTimer = xTimerCreate ( " unmount_timeout " , kTicksBeforeUnmount , false ,
NULL , timer_callback ) ;
}
mountStorage ( ) ;
events : : System ( ) . Dispatch ( internal : : Mount { } ) ;
}
void Running : : exit ( ) {
@ -72,7 +72,8 @@ void Running::react(const SdDetectChanged& ev) {
}
if ( ev . has_sd_card & & ! sStorage ) {
mountStorage ( ) ;
events : : System ( ) . Dispatch ( internal : : Mount { } ) ;
return ;
}
// Don't automatically unmount, since this event seems to occasionally happen
@ -120,7 +121,7 @@ void Running::react(const SamdUsbMscChanged& ev) {
gpios . WriteSync ( drivers : : IGpios : : Pin : : kSdPowerEnable , 0 ) ;
// Now it's ready for us.
mountStorage ( ) ;
events : : System ( ) . Dispatch ( internal : : Mount { } ) ;
}
}
@ -145,7 +146,7 @@ auto Running::updateSdState(drivers::SdState state) -> void {
events : : System ( ) . Dispatch ( SdStateChanged { } ) ;
}
auto Running : : mountStorage ( ) - > void {
void Running : : react ( const internal : : Mount & ) {
// Only mount our storage if we know it's not currently in use by the SAMD.
if ( sServices - > samd ( ) . UsbMassStorage ( ) ) {
updateSdState ( drivers : : SdState : : kNotMounted ) ;
@ -82,6 +82,8 @@ struct SamdInterrupt : tinyfsm::Event {};
struct IdleTimeout : tinyfsm : : Event { } ;
struct UnmountTimeout : tinyfsm : : Event { } ;
struct Mount : tinyfsm : : Event { } ;
} // namespace internal
} // namespace system_fsm
@ -63,6 +63,7 @@ class SystemState : public tinyfsm::Fsm<SystemState> {
virtual void react ( const audio : : PlaybackUpdate & ) { }
virtual void react ( const internal : : IdleTimeout & ) { }
virtual void react ( const internal : : UnmountTimeout & ) { }
virtual void react ( const internal : : Mount & ) { }
protected :
auto IdleCondition ( ) - > bool ;
@ -101,16 +102,17 @@ class Running : public SystemState {
void react ( const audio : : PlaybackUpdate & ) override ;
void react ( const database : : event : : UpdateFinished & ) override ;
void react ( const SamdUsbMscChanged & ) override ;
void react ( const internal : : UnmountTimeout & ) override ;
void react ( const StorageError & ) override ;
void react ( const internal : : UnmountTimeout & ) override ;
void react ( const internal : : Mount & ) override ;
using SystemState : : react ;
private :
auto checkIdle ( ) - > void ;
auto updateSdState ( drivers : : SdState ) - > void ;
auto mountStorage ( ) - > void ;
auto unmountStorage ( ) - > void ;
bool storage_mounted_ ;