Open adryzz opened 9 months ago
also, will add that 2 days ago libctru 2.3.0 released, adding the 2 methods needed for this.
fixed a few of the issues, will now investigate the bindings, as that's the main issue apart from the libctru
version bump
never mind, i got the enum issue sorted out.
All that remains now is the libctru version bump for the load_network_slot
setting.
also cleaned up the history a bit, now all commits build
will do right now!
time to rebase this
perfect! the unit tests failing have nothing to do with this PR afaik, so it all works now!
Seems like, once this and #156 get merged, all 3DS networking functionality besides Download Play is done - that'll be neat to see!
Seems like, once this and #156 get merged, all 3DS networking functionality besides Download Play is done - that'll be neat to see!
what other parts of libctru/3ds services are missing? i may just try implementing other stuff too
Seems like, once this and #156 get merged, all 3DS networking functionality besides Download Play is done - that'll be neat to see!
what other parts of libctru/3ds services are missing? i may just try implementing other stuff too
I think at this point it's mostly less important stuff like boss
, news
, qtm
etc. - though ir
still needs some work, since the Circle Pad Pro code doesn't work properly on New 3DS. I don't think irrst
is done, either, though that should probably be merged into hid
in my opinion.
Just go to the libctru repo and compare the source files with what's done on the ctru-rs side.
uhh good news. i tested around the get_wifi_status
function, and there are definitely more values.
3dbrew has very little information on this, and i was only able to confirm these:
0
: Hardware Wi-Fi switch is disabled1
: Enabled but not connected2
: LAN connected3
: WAN connectedI also was able to get in a few occasions the values 102
and 300
while turning on/off the Wi-Fi network, although i have no clue what they actually mean, and this suggests there may be even more values.
#[non_exhaustive]
works i guess
oh, i completely forgot this was still open, will update asap
okay, one small issue: how do we deal with errors related to UTF-8 now? i checked and you can still run into those while being connected (e.g. a proxy username not being valid UTF-8, set from a homebrew app), so the wifi_status()
-based error approach wouldn't work.
so do we create a custom AC error instead of propagating FromUtf8Error
?
so do we create a custom AC error instead of propagating
FromUtf8Error
?
Yeah, that should be a good choice.
also, since we know the contents of the buffer are invalid text, we could still return the buffer as a Vec<u8>
and problem: the functions can return both crate::Error
and ac::Error
. how do we handle that? i see that crate::Error
does not propagate any module-specific errors
Implements the
ac
service, bothac:u
(user) andac:i
methods (intended for mset).Did this because i needed some of these methods for an app
Methods implemented:
wait_internet_connection
(returns immediately for some reason independently of network connection, have to investigate)get_wifi_status
get_wifi_security
get_wifi_ssid
get_proxy_enabled
get_proxy_port
get_proxy_username
get_proxy_password
load_network_slot
(ac:i
)ACU_SetAllowApType
ACU_SetNetworkArea
ACU_SetRequestEulaVersion
ACU_CreateDefaultConfig
ACU_ConnectAsync
,ACU_GetLastErrorCode
andACU_GetLastDetailErrorCode
(all at once)ACI_GetNetworkWirelessEssidSecurity
(screenshot didnt work)![PXL_20231028_105524873](https://github.com/rust3ds/ctru-rs/assets/46694241/b5d33777-9820-476e-8dbc-aa0927c204e2)