star-micronics / StarXpand-SDK-iOS

StarXpand SDK for iOS is a software development kit for supporting application development for Star Micronics devices.
https://star-m.jp/starxpandsdk-oml.html
Other
27 stars 5 forks source link

Feature request: querying device model name #28

Open dsvdmeer opened 6 months ago

dsvdmeer commented 6 months ago

Is your feature request related to a problem? Please describe.

For Bluetooth printers there currently seems to be no way to get a printer's model name. We use this information in our UI to show discovered printers. In the StarPRNT SDK this is possible using getFirmwareInfo(), but there is no equivalent in the StarXpand SDK (or I can't find it?). The information?.modal property always returns unknown.

Describe the solution you'd like

A function similar to the getFirmwareInfo() function in the StarPRNT SDK. We actually only use the "ModelName" field from that and ignore that firmware version, so a getModelName() function would also suffice.

Describe alternatives you've considered

We're currently using the StarPRNT SDK and it works, but we'd like to update to this new SDK. At the moment the lack of this feature stops us from doing so.

Additional context

I believe that such a feature would also be beneficial for non-bluetooth printers because it returns a human-readable model name. The StarPrinterModel enum does not provide these human-readable names.

Tatsuki-Yamamoto2731 commented 5 months ago

@dsvdmeer Do you use the following models?

For Bluetooth, these models cannot be obtained model names when discovered. But once open() is executed, you can obtain the printer model name from StarPrinterInformation.model.

I have confirmed that TSP650II is retrieved as "model: unknown" during discovery and can be retrieved as "model: tsp650II" after open() run. Could you please try it?

dsvdmeer commented 5 months ago

Yes we use the TSP650II. I had not tried to first call open(), thanks for that suggestion!

However, in our app we show all discovered printers in the UI, even the ones we currently don't support. It would be handy to get a human-readable model name for a discovered printer, without having to hard-code a mapping between all the enum cases and model names. It would also be nice for new printer models when we haven't upadated the SDK yet.

Tatsuki-Yamamoto2731 commented 4 months ago

@dsvdmeer Thank you for your comment. Unfortunately, we don't have such a function now, but we understand your needs, so we will consider based on your feedback.