Commit Graph

45 Commits

Author SHA1 Message Date
Uwe Seimet aa927cb504
Move top-level .cpp files into their respective folders (#1249)
* Update Makefile, move top-level .cpp files

* Move top-level .cpp files into their respective folders
2023-10-16 18:27:18 +02:00
Uwe Seimet 41bdcd4aed
Issues 1179 and 1182 (#1232)
* Update logging

* Remove duplicate code

* Update unit tests

* Clean up includes

* Merge ProtobufSerializer into protobuf_util namespace

* Precompile regex

* Add const

* Add Split() convenience method, update log level/ID parsing

* Move log.h to legacy folder

* Elimininate gotos

* Fixes for gcc 13

* Update compiler flags

* Update default folder handling

* Use references instead of pointers

* Move code for better encapsulation

* Move code

* Remove unused method argument

* Move device logger

* Remove redundant to_string

* Rename for consistency

* Update handling of protobuf pointers

* Simplify protobuf usage

* Memory handling update

* Add hasher
2023-10-15 08:38:15 +02:00
Tony Kuker 68e0c29d83
Disable the Timer Test #1227 (#1228)
The Timer test isn't reliable on all variants of the Raspberry Pi. This will temporarily comment it out.

When the RPi5 support is being added, this test should be made optional and only triggered when a CLI option is present.
2023-10-09 20:10:46 -05:00
Uwe Seimet bd9b776c47
Fix block size evaluation (#1212) (#1213)
* Fix block size evaluation (#1212)
2023-10-01 23:50:30 +02:00
Daniel Markstedt ee658c359d
Clarify docs and error strings for scsimon (#1175)
* Better usage hints in scsimon man page

* In error message, clarify that piscsi needs to be shut down
2023-06-24 13:20:15 -07:00
Tony Kuker 9c5296a65b Update version for next development version 2023-04-22 19:46:26 -05:00
Tony Kuker ba1d867ad5 Update revision number for release 2023-04-22 19:42:55 -05:00
Daniel Markstedt 3cceb515cd
For HD Product name, use GiB unit from 10,000 Mib and higher. (#1147)
* For HD Product name, use GiB unit from 10,000 Mib and higher.

* Update unit test
2023-04-20 08:38:31 -05:00
Uwe Seimet 07e953fa77
Fixed a potential issue with the unit test order (reserved file cleanup was missing) (#1137)
* Fixed a potential issue with the unit test order

* Updated error handling
2023-03-28 10:21:36 +02:00
Uwe Seimet 2092b35c89
Added optional LDFLAGS in order to control linking, e.g. for faster linking (#1128) 2023-03-24 08:54:05 +01:00
Uwe Seimet ef6cd97656
Improve OpenVMS/VAX compatibility (issue #1117) (#1123)
* Set TB, PER and DTE bits in read/write error recovery page

* Fixed typo

* Added unit test

* Comment update
2023-03-15 22:38:44 +01:00
nsafran1217 bf97201580
Add support for SCSI-1 CD Drives, .is1 extension (#1109)
* Add SCSI-1 option for scsicd with file extension is1

Update tests

Update documentation with is1 file extension

* Fix tests
2023-02-26 20:52:19 -06:00
Tony Kuker 76e5b812d7 Update version for next development version 2023-02-11 12:34:43 -06:00
Tony Kuker caf004b1ae Update revision number for release 2023-02-11 12:32:56 -06:00
Daniel Markstedt 071fdd2dd5
Move os_integration to root level (#1085)
* Move the os_integration dir from cpp/ to root level

Co-authored-by: nucleogenic <nr@nucleogenic.com>
2023-01-28 15:03:41 -08:00
Uwe Seimet b6941c9e81
Do not abort but only warn on unexpected CD-ROM image size (#1084)
* Do not abort but only warn on unexpected CD-ROM image size

* Unit test update

* Updated exception handling

* Cleanup

* Fixed typo
2023-01-28 17:28:21 +01:00
Uwe Seimet 649655ba40
Fixed shutdown issues (#1067)
* Fixed wrong shutdown mode string (must be 'rascsi', not 'piscsi')

* Fixed spurious segfaults in termination handler
2023-01-14 19:26:49 +01:00
Uwe Seimet 78206ed670
Ignore dummy network interfaces when setting up interface list (#1066) 2023-01-14 19:26:33 +01:00
Uwe Seimet ae4b9a70ba
Fixed unit tests and version formatting (#1062) 2023-01-07 09:50:37 +01:00
Tony Kuker bf2b210c4c update revision number for release 2022-12-23 15:11:24 -06:00
akuker 754347f833
Chinese translation updates (#1054)
* Updated translations from Li Xing

Co-authored-by: Tony Kuker <akuker@gmail.com>
Co-authored-by: Daniel Markstedt <markstedt@gmail.com>
2022-12-23 15:04:03 -06:00
Daniel Markstedt 63ee7df782
Add zh locale (#1055) 2022-12-23 13:37:17 -06:00
akuker 75b42d74eb
Chinese (zh) translation (#1035)
Co-authored-by: Tony Kuker <akuker@gmail.com>
Co-authored-by: iml6 <72815764+iml6@users.noreply.github.com>
2022-12-18 21:38:30 -06:00
akuker 5b3626dcf5
SCSI Dump Usability Enhancements & Cleanup (#1026)
Co-authored-by: Tony Kuker <akuker@gmail.com>
2022-12-09 09:50:45 -06:00
akuker 09ba19a24f
Optimize setting the data gpio bits (#1022)
Co-authored-by: Tony Kuker <akuker@gmail.com>
2022-12-07 11:09:30 -06:00
Daniel Markstedt 52c2aa474f
Rebrand project to PiSCSI (#1016)
* Rebrand project to PiSCSI
- rascsi ->piscsi
- rasctl -> scsictl
- rasdump -> scsidump
- ras* -> piscsi* (rasutil -> piscsi_util, etc.)

* Refined the formatting and wording of the app startup banner
* Kept some references to rascsi and rasctl where backwards compatibility is concerned
* Point to the new github repo URL

Co-authored-by: nucleogenic <nr@nucleogenic.com>
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
2022-12-05 09:58:23 -08:00
akuker 12068cafb8
Reliability fix for Banana Pi M2+ (#1014) Also incremented version number
Co-authored-by: Tony Kuker <akuker@gmail.com>
2022-12-04 11:55:38 -06:00
akuker eb71c31cf1
Initial merge of (incomplete) Banana Pi updates (#993) 2022-12-02 22:20:27 -06:00
Uwe Seimet ae66bbdc26
Dry-run shall not change any state (21.10.01 regression) (#998) 2022-11-21 09:30:10 +01:00
Uwe Seimet 8c5dcd2f49
Fix bogus "Invalid magic" message when socket connection is established (#988) 2022-11-16 10:01:51 +01:00
Uwe Seimet 454c61ac0d
Added rascsi filter to limit logging to a particular device (#978)
* Support for ID and LUN parameter for the -L option in rascsi

* Added DeviceLogger class

* Removed dupiicate code

* Fixed SonarQube issues

* Added unit tests, improved code sharing

* Fixed regression (#979)
2022-11-11 21:08:48 +01:00
Uwe Seimet 4fa513090a
Improve code sharing and dependencies, address code duplication (#976) 2022-11-10 07:44:06 +01:00
Uwe Seimet 1c0179e7e3
rasdump and monitor updates, made rasdump work, improved bus abstraction (#973)
* Moved rasdump and monitor to sub-folders, cleaned up code

* Fixes rasdump issues and added additional features like device type check, LUN support and configurable buffer size
2022-11-09 08:40:26 +01:00
Uwe Seimet 1cae530d42
Added command byte count to SCSI command mapping (#966)
* Extended mapping table with command byte count

* Terminate early if command is unknown
2022-11-06 19:44:44 +01:00
Uwe Seimet c98c52ffb8
Cleaned up dependencies on controller manager (#964)
* Cleaned up dependencies on controller manager

* Removed global fields

* Simplified setting up RascsiResponse and RascsiExecutor

* Got rid of remaining raw pointers

* Use references instead of pointers

* Improved encapsulation
2022-11-04 08:22:32 +01:00
Uwe Seimet 83d1595a35
Improved testability of rascsi/rasctl/scsimon/rasdump, eliminated global fields (#960)
* Moved rascsi/rasctl/scsimon/rasdump.cpp to classes (for better testability)

* Moved bus.* to hal folder

* Removed some global variables

* Fixed code redundancies
2022-11-02 23:41:45 +01:00
Uwe Seimet c41373d9bd
Use lambdas for dispatcher, code cleanup, test updates (#958)
* Using lambdas instead of member function pointers simplifies the command dispatching and reduces the code volume

* Removed duplicate error handling

* Fix for issue #956

* Unit test updates

* Resolved SonarQube issues
2022-11-02 15:36:19 +01:00
akuker 31dd063611
Create devices after bus creation (#954) 2022-11-02 08:58:59 -05:00
Uwe Seimet 621cc7d5a2
Code cleanup, especially casts, lambdas, data types, encapsulation (#952)
* Unit test updates

* Lambda syntax cleanup

* Use new-style casts

* Use std::none_of when saving the cache

* Use to_integer instead of casts

* Use accessors for getting CDB data

* Made ctrl_t private

* Improved encapsulation

* Replaced pointers by references

* Removed all remaining occurrences of DWORD and BYTE, making os.h obsolete
2022-11-02 07:36:25 +01:00
Uwe Seimet 9a4f433baf
Validate SCSI error codes (sense key, asc) in unit tests (issue #895) (#950) 2022-10-29 18:16:03 +02:00
Uwe Seimet f84a13b3e2
Prevent copying of files in use (#951) 2022-10-29 18:15:30 +02:00
Uwe Seimet 6e35577368
Removed wrong inheritance of SCDP and SCBR from Disk class (#948)
* Fixed TODOs, updated SCBR and SCDP

* Introduced ByteWriter interface

* Use accessors instead of directly accessing length/block fields
2022-10-29 18:10:00 +02:00
Uwe Seimet c1f63c6745
Added missing command mapping for DEVICES_INFO (#947) 2022-10-27 16:31:32 +02:00
Uwe Seimet 2cecf4b35c
Image file deletion: Fixed error handling (#944)
* Fixed ID/LUN check when deleting image

* Updated error handling when deleting image file

* Prevent renaming of image file in use
2022-10-26 17:43:11 +02:00
Daniel Markstedt 08194af424
Move C++ code into cpp/ dir (#941)
- Moved C++ code to cpp/ from src/raspberrypi
- Related updates to Makefile, easyinstall.sh, and the github build rules
- Removed the native X68k C code in src/x68k from the repo
2022-10-25 12:59:30 -07:00